Subject: [PATCH V3] scsi: ufs: Get boot device storage type from command line

v1->v2:
- Made UFS_QCOM_CMDLINE as default 'Y' to get __setup() addressing review comments from Bart
v2->v3
- Made ufs-cmdline to build as core driver obj-y

Thanks for your response!

Chetan C R (1):
scsi: ufs: Get boot device storage type from command line

drivers/ufs/host/Makefile | 1 +
drivers/ufs/host/ufs-cmdline.c | 54 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+)
create mode 100644 drivers/ufs/host/ufs-cmdline.c

--
2.7.4


2022-07-28 20:35:59

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH V3] scsi: ufs: Get boot device storage type from command line

On 7/28/22 12:00, Chetan C R wrote:
> v2->v3
> - Made ufs-cmdline to build as core driver obj-y

This is not sufficient to integrate the ufs-cmdline code in vmlinux so
this patch has the same problem as the previous two versions.

Bart.

Subject: Re: [PATCH V3] scsi: ufs: Get boot device storage type from command line

Hi Bart,

Thanks for your response!. For making ufs-cmdline code integrate in
vmlinux we might need to remove the depends on for SCSI_UFSHCD(m)

/drivers/ufs/Kconfig
 menuconfig SCSI_UFSHCD

-       depends on SCSI && SCSI_DMA

does this looks good? Instead of this Please suggest any efficient way
of making ufs-cmdline part of vmlinux.

Thanks,

Chetan

On 7/29/2022 2:01 AM, Bart Van Assche wrote:
> On 7/28/22 12:00, Chetan C R wrote:
>> v2->v3
>> - Made ufs-cmdline to build as core driver obj-y
>
> This is not sufficient to integrate the ufs-cmdline code in vmlinux so
> this patch has the same problem as the previous two versions.
>
> Bart.

2022-07-29 20:08:59

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH V3] scsi: ufs: Get boot device storage type from command line

On 7/29/22 05:54, Chetan Chinnadagudihundi Ravindranath (Consultant)
(QUIC) wrote:
> Please suggest any efficient way of making ufs-cmdline part of vmlinux.

A patch description should not only explain what has been changed but
also why a change is being made. Information about why support is being
added for the androidboot.bootdevice parameter in the Qualcomm UFS host
controller driver is missing from the patch description.

Please also address Christoph's comment about this new command-line
parameter not being used anywhere in the upstream kernel tree.

Thanks,

Bart.

Subject: Re: [PATCH V3] scsi: ufs: Get boot device storage type from command line

> why a change is being made:
There are 2 variants of the android bootdev device. One is EMMC and
other is UFS. We would be not knowing the android boot storage type at
build time. So, we need to know the storage type at run time(bootup
time) by reading the  "androidboot.bootdevice=". We need to distinguish
between EMMC and UFS at bootup time and take appropriate action.

> Information about why support is being added for the
androidboot.bootdevice parameter in the Qualcomm UFS host controller driver:

We will get the "androidboot.bootdevice=" by reading cmdline
case 1: if the boot image header version is 3
        We get the bootdevice info by reading /proc/cmdline (
__setup("androidboot.bootdevice=", get_android_boot_dev_v3);

Case 2: if the boot image header version is 4
        We get the bootdevice info by reading /proc/bootconfig
(android_boot_dev_v4 = xbc_find_value("androidboot.bootdevice", &vnode))

Qualcomm UFS modules(ufs-qcom.c) calls this
get_storage_boot_device()(ufs-cmdline.c)   and get the bootdevice info
and take appropriate action. This code is yet to be upstreamed. Please
let me know if this info convincing.

Thanks,

Chetan

On 7/30/2022 1:36 AM, Bart Van Assche wrote:
> On 7/29/22 05:54, Chetan Chinnadagudihundi Ravindranath (Consultant)
> (QUIC) wrote:
>> Please suggest any efficient way of making ufs-cmdline part of vmlinux.
>
> A patch description should not only explain what has been changed but
> also why a change is being made. Information about why support is
> being added for the androidboot.bootdevice parameter in the Qualcomm
> UFS host controller driver is missing from the patch description.
>
> Please also address Christoph's comment about this new command-line
> parameter not being used anywhere in the upstream kernel tree.
>
> Thanks,
>
> Bart.

2022-08-01 17:57:00

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH V3] scsi: ufs: Get boot device storage type from command line

On 7/30/22 00:54, Chetan Chinnadagudihundi Ravindranath (Consultant)
(QUIC) wrote:
> > why a change is being made:
> There are 2 variants of the android bootdev device. One is EMMC and
> other is UFS. We would be not knowing the android boot storage type at
> build time. So, we need to know the storage type at run time(bootup
> time) by reading the  "androidboot.bootdevice=". We need to distinguish
> between EMMC and UFS at bootup time and take appropriate action.
>
> > Information about why support is being added for the
> androidboot.bootdevice parameter in the Qualcomm UFS host controller
> driver:
>
> We will get the "androidboot.bootdevice=" by reading cmdline
> case 1: if the boot image header version is 3
>         We get the bootdevice info by reading /proc/cmdline (
> __setup("androidboot.bootdevice=", get_android_boot_dev_v3);
>
> Case 2: if the boot image header version is 4
>         We get the bootdevice info by reading /proc/bootconfig
> (android_boot_dev_v4 = xbc_find_value("androidboot.bootdevice", &vnode))
>
> Qualcomm UFS modules(ufs-qcom.c) calls this
> get_storage_boot_device()(ufs-cmdline.c)   and get the bootdevice info
> and take appropriate action. This code is yet to be upstreamed. Please
> let me know if this info convincing.

Instead of posting the above information on the linux-scsi mailing list,
it should be integrated in the description of the patch. Please do that
before reposting this patch and also make sure that the code that uses
this new kernel command line parameter is included in the same patch series.

Thanks,

Bart.