Message ID | 1443530546-3066-1-git-send-email-javier@osg.samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 29.09.2015 um 14:42 schrieb Javier Martinez Canillas: > diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig > index d4f6063d8a72..5aad617f02c7 100644 > --- a/arch/arm/configs/exynos_defconfig > +++ b/arch/arm/configs/exynos_defconfig > @@ -64,8 +64,8 @@ CONFIG_SMSC911X=y > CONFIG_USB_USBNET=y > CONFIG_USB_NET_SMSC75XX=y > CONFIG_USB_NET_SMSC95XX=y > -CONFIG_MWIFIEX=y > -CONFIG_MWIFIEX_SDIO=y > +CONFIG_MWIFIEX=m > +CONFIG_MWIFIEX_SDIO=m > CONFIG_INPUT_EVDEV=y > CONFIG_KEYBOARD_GPIO=y > CONFIG_KEYBOARD_CROS_EC=y Makes sense, Reviewed-by: Andreas Färber <afaerber@suse.de> What about multi_v7? Cheers, Andreas
Hello Andreas, On 09/29/2015 03:20 PM, Andreas Färber wrote: > Am 29.09.2015 um 14:42 schrieb Javier Martinez Canillas: >> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig >> index d4f6063d8a72..5aad617f02c7 100644 >> --- a/arch/arm/configs/exynos_defconfig >> +++ b/arch/arm/configs/exynos_defconfig >> @@ -64,8 +64,8 @@ CONFIG_SMSC911X=y >> CONFIG_USB_USBNET=y >> CONFIG_USB_NET_SMSC75XX=y >> CONFIG_USB_NET_SMSC95XX=y >> -CONFIG_MWIFIEX=y >> -CONFIG_MWIFIEX_SDIO=y >> +CONFIG_MWIFIEX=m >> +CONFIG_MWIFIEX_SDIO=m >> CONFIG_INPUT_EVDEV=y >> CONFIG_KEYBOARD_GPIO=y >> CONFIG_KEYBOARD_CROS_EC=y > > Makes sense, > > Reviewed-by: Andreas Färber <afaerber@suse.de> > Thanks. > What about multi_v7? > Already enables these options as a module. > Cheers, > Andreas > Best regards,
On 29.09.2015 21:42, Javier Martinez Canillas wrote: > The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the > driver is built-in and probed before a firmware is available, this is > not loaded and the chip does not work. > > This happens for example if an initramfs isn't used since the driver is > probed before the root filesystem is mounted. > > Change the default config since the driver isn't needed for machines to > boot and is more convenient to have it enabled as a module to avoid > requiring an initramfs or to have the firmware built into the kernel. > > Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> > > --- > > arch/arm/configs/exynos_defconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) The user-space can always initiate re-probing of device - just re-bind it. However I assume that driver cannot work without firmware? Best regards, Krzysztof > > diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig > index d4f6063d8a72..5aad617f02c7 100644 > --- a/arch/arm/configs/exynos_defconfig > +++ b/arch/arm/configs/exynos_defconfig > @@ -64,8 +64,8 @@ CONFIG_SMSC911X=y > CONFIG_USB_USBNET=y > CONFIG_USB_NET_SMSC75XX=y > CONFIG_USB_NET_SMSC95XX=y > -CONFIG_MWIFIEX=y > -CONFIG_MWIFIEX_SDIO=y > +CONFIG_MWIFIEX=m > +CONFIG_MWIFIEX_SDIO=m > CONFIG_INPUT_EVDEV=y > CONFIG_KEYBOARD_GPIO=y > CONFIG_KEYBOARD_CROS_EC=y >
Hello Krzysztof, On 09/30/2015 02:36 AM, Krzysztof Kozlowski wrote: > On 29.09.2015 21:42, Javier Martinez Canillas wrote: >> The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the >> driver is built-in and probed before a firmware is available, this is >> not loaded and the chip does not work. >> >> This happens for example if an initramfs isn't used since the driver is >> probed before the root filesystem is mounted. >> >> Change the default config since the driver isn't needed for machines to >> boot and is more convenient to have it enabled as a module to avoid >> requiring an initramfs or to have the firmware built into the kernel. >> >> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> >> >> --- >> >> arch/arm/configs/exynos_defconfig | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > The user-space can always initiate re-probing of device - just re-bind It is true that you can force a re-probing from user-space by doing: $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/unbind $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/bind but: a) This is not obvious. In fact, I didn't think that possibility before you mentioned and I've been using Linux for many years :) b) This is not something that isn't done automatically by init systems. So what users will see is that the driver was probed successfully but the firmware fails to load later (since the driver users the async request_firmware_nowait function to request the firmware). > it. However I assume that driver cannot work without firmware? > Yes, it doesn't. I explained this in the commit message. Do you think it should be made more clear? > Best regards, > Krzysztof > Best regards,
On 30.09.2015 16:22, Javier Martinez Canillas wrote: > Hello Krzysztof, > > On 09/30/2015 02:36 AM, Krzysztof Kozlowski wrote: >> On 29.09.2015 21:42, Javier Martinez Canillas wrote: >>> The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the >>> driver is built-in and probed before a firmware is available, this is >>> not loaded and the chip does not work. >>> >>> This happens for example if an initramfs isn't used since the driver is >>> probed before the root filesystem is mounted. >>> >>> Change the default config since the driver isn't needed for machines to >>> boot and is more convenient to have it enabled as a module to avoid >>> requiring an initramfs or to have the firmware built into the kernel. >>> >>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> >>> >>> --- >>> >>> arch/arm/configs/exynos_defconfig | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> The user-space can always initiate re-probing of device - just re-bind > > It is true that you can force a re-probing from user-space by doing: > > $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/unbind > $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/bind I suppose the unbind won't be needed, because device aborted the probe... so only one another bind. > > but: > > a) This is not obvious. In fact, I didn't think that possibility > before you mentioned and I've been using Linux for many years :) Eh, questionable. Obvious for me :) > > b) This is not something that isn't done automatically by init systems. Right. > > So what users will see is that the driver was probed successfully but > the firmware fails to load later (since the driver users the async > request_firmware_nowait function to request the firmware). Okay. > >> it. However I assume that driver cannot work without firmware? >> > > Yes, it doesn't. I explained this in the commit message. Do you > think it should be made more clear? No, its OK, I agree. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Best regards, Krzysztof
Hello Krzysztof, On 09/30/2015 09:37 AM, Krzysztof Kozlowski wrote: > On 30.09.2015 16:22, Javier Martinez Canillas wrote: >> Hello Krzysztof, >> >> On 09/30/2015 02:36 AM, Krzysztof Kozlowski wrote: >>> On 29.09.2015 21:42, Javier Martinez Canillas wrote: >>>> The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the >>>> driver is built-in and probed before a firmware is available, this is >>>> not loaded and the chip does not work. >>>> >>>> This happens for example if an initramfs isn't used since the driver is >>>> probed before the root filesystem is mounted. >>>> >>>> Change the default config since the driver isn't needed for machines to >>>> boot and is more convenient to have it enabled as a module to avoid >>>> requiring an initramfs or to have the firmware built into the kernel. >>>> >>>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> >>>> >>>> --- >>>> >>>> arch/arm/configs/exynos_defconfig | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> The user-space can always initiate re-probing of device - just re-bind >> >> It is true that you can force a re-probing from user-space by doing: >> >> $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/unbind >> $ echo "mmc2:0001:1" > /sys/bus/sdio/drivers/mwifiex_sdio/bind > > I suppose the unbind won't be needed, because device aborted the > probe... so only one another bind. > Right, only the bind is needed indeed since the device is unbind after the firmware loading fails. I just wanted to confirm that I understood what you said before correctly. >> >> but: >> >> a) This is not obvious. In fact, I didn't think that possibility >> before you mentioned and I've been using Linux for many years :) > > Eh, questionable. Obvious for me :) > Fair enough, maybe is just me then :) >> >> b) This is not something that isn't done automatically by init systems. > > Right. err, I wanted to say "is not something that is done automatically" but fortunately you understood what I meant. > >> >> So what users will see is that the driver was probed successfully but >> the firmware fails to load later (since the driver users the async >> request_firmware_nowait function to request the firmware). > > Okay. > >> >>> it. However I assume that driver cannot work without firmware? >>> >> >> Yes, it doesn't. I explained this in the commit message. Do you >> think it should be made more clear? > > No, its OK, I agree. > > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > Great, thanks a lot for your feedback and review! > Best regards, > Krzysztof Best regards,
diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index d4f6063d8a72..5aad617f02c7 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -64,8 +64,8 @@ CONFIG_SMSC911X=y CONFIG_USB_USBNET=y CONFIG_USB_NET_SMSC75XX=y CONFIG_USB_NET_SMSC95XX=y -CONFIG_MWIFIEX=y -CONFIG_MWIFIEX_SDIO=y +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m CONFIG_INPUT_EVDEV=y CONFIG_KEYBOARD_GPIO=y CONFIG_KEYBOARD_CROS_EC=y
The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the driver is built-in and probed before a firmware is available, this is not loaded and the chip does not work. This happens for example if an initramfs isn't used since the driver is probed before the root filesystem is mounted. Change the default config since the driver isn't needed for machines to boot and is more convenient to have it enabled as a module to avoid requiring an initramfs or to have the firmware built into the kernel. Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> --- arch/arm/configs/exynos_defconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)