Re: [PATCH] scsi: ufs: select CONFIG_NLS

From: James Bottomley
Date: Tue Mar 22 2016 - 07:43:42 EST


On Thu, 2016-03-17 at 13:29 +0100, Arnd Bergmann wrote:
> A recent change to ufshcd introduced a call to utf16s_to_utf8s,
> a function that is provided by the NLS module, so we get a link
> error when that is not present:
>
> drivers/scsi/built-in.o: In function `ufshcd_read_string_desc':
> :(.text+0x124d0): undefined reference to `utf16s_to_utf8s'
>
> This adds a Kconfig 'select' statement to avoid the build error.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Fixes: b573d484e4ff ("scsi: ufs: add support to read device and
> string descriptors")
> ---
> drivers/scsi/ufs/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
> index 5f4530744e0a..097894a1fab5 100644
> --- a/drivers/scsi/ufs/Kconfig
> +++ b/drivers/scsi/ufs/Kconfig
> @@ -37,6 +37,7 @@ config SCSI_UFSHCD
> depends on SCSI && SCSI_DMA
> select PM_DEVFREQ
> select DEVFREQ_GOV_SIMPLE_ONDEMAND
> + select NLS

This looks like a bad solution: CONFIG_NLS is nothing more than a menu
selector for the NLS subsystem. The problem is that selecting it will
allow a kernel to be build with NLS and without NLS_DEFAULT which is
going to cause all sorts of interesting problems on boot. I think you
really mean depends on NLS here.

James