• Maciej Żenczykowski's avatar
    net: usb: make USB_RTL8153_ECM non user configurable · f56530dc
    Maciej Żenczykowski authored
    This refixes:
    
        commit 7da17624
        nt: usb: USB_RTL8153_ECM should not default to y
    
        In general, device drivers should not be enabled by default.
    
    which basically broke the commit it claimed to fix, ie:
    
        commit 657bc1d1
        r8153_ecm: avoid to be prior to r8152 driver
    
        Avoid r8153_ecm is compiled as built-in, if r8152 driver is compiled
        as modules. Otherwise, the r8153_ecm would be used, even though the
        device is supported by r8152 driver.
    
    this commit amounted to:
    
    drivers/net/usb/Kconfig:
    
    +config USB_RTL8153_ECM
    +       tristate "RTL8153 ECM support"
    +       depends on USB_NET_CDCETHER && (USB_RTL8152 || USB_RTL8152=n)
    +       default y
    +       help
    +         This option supports ECM mode for RTL8153 ethernet adapter, when
    +         CONFIG_USB_RTL8152 is not set, or the RTL8153 device is not
    +         supported by r8152 driver.
    
    drivers/net/usb/Makefile:
    
    -obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o r8153_ecm.o
    +obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
    +obj-$(CONFIG_USB_RTL8153_ECM)  += r8153_ecm.o
    
    And as can be seen it pulls a piece of the cdc_ether driver out into
    a separate config option to be able to make this piece modular in case
    cdc_ether is builtin, while r8152 is modular.
    
    While in general, device drivers should indeed not be enabled by default:
    this isn't a device driver per say, but rather this is support code for
    the CDCETHER (ECM) driver, and should thus be enabled if it is enabled.
    
    See also email thread at:
      https://www.spinics.net/lists/netdev/msg767649.html
    
    In:
      https://www.spinics.net/lists/netdev/msg768284.html
    
    Jakub wrote:
      And when we say "removed" we can just hide it from what's prompted
      to the user (whatever such internal options are called)? I believe
      this way we don't bring back Marek's complaint.
    
    Side note: these incorrect defaults will result in Android 13
    on 5.15 GKI kernels lacking USB_RTL8153_ECM support while having
    USB_NET_CDCETHER (luckily we also have USB_RTL8150 and USB_RTL8152,
    so it's probably only an issue for very new RTL815x hardware with
    no native 5.15 driver).
    
    Fixes: 7da17624 ("nt: usb: USB_RTL8153_ECM should not default to y")
    Cc: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Hayes Wang <hayeswang@realtek.com>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
    Link: https://lore.kernel.org/r/20220730230113.4138858-1-zenczykowski@gmail.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    f56530dc
Kconfig 21.2 KB