Using an electric mixer, cream butter and shortening together.
Gradually add white and brown sugar, beating at medium speed. Add eggs one at a time, beating well after each addition.
Sift flour, baking powder and salt together. Alternately add dry ingredients to creamed mix, beginning and ending with dry ingredients. Stir in vanilla and walnuts.
Pour into greased and floured 10-inch tube pan. Bake at 325F for 1 hour or until wooden pick inserted near center comes out clean. Cool in pan for 15 minutes, then remove and cool on wire rack.
Prepare frosting by creaming butter and cream cheese together. Add powdered sugar and milk, beating until spreading consistency.