Functions php shortcode for displaying main menu with no child items

You could set the 'depth' argument to 1 in your wp_nav_menu() call to get only top level items, along with the custom menu walker, something like this:

return wp_nav_menu( array( 'menu' => $name, 'menu_class' => 'footer-menu', 'echo' => false, 'depth' => 1, 'walker' => new custom_footer_menu_walker ) );

Add the custom menu walker to your functions.php (12345 is the ID of your homepage, that should be excluded):

class custom_footer_menu_walker extends Walker_Nav_Menu {

    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {

        parent::start_el($item_html, $item, $depth, $args);

        $exclude = array();
        $exclude[] = 12345;

        if ( ! in_array( $item->object_id, $exclude ) ) {
            $output .= $item_html;
        }
    }
}