RE: [PATCH 09/29] scsi: ufs: Declare the quirks array const

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> Declare the quirks array and also its 'model' member const to make it explicit
> that these are not modified.
> 
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
Sometimes it's useful to be able to add a quirk as part of e.g. a debug session in the OEM premises.
And not always we are able to recompile the kernel. 
Since we have a debugfs now, how about adding this capability, instead of blocking it?

Thanks,
Avri
> ---
>  drivers/scsi/ufs/ufs-mediatek.c | 2 +-
>  drivers/scsi/ufs/ufs_quirks.h   | 2 +-
>  drivers/scsi/ufs/ufshcd.c       | 7 ++++---
>  drivers/scsi/ufs/ufshcd.h       | 3 ++-
>  4 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c
> index 217348dde6a6..9a4474210627 100644
> --- a/drivers/scsi/ufs/ufs-mediatek.c
> +++ b/drivers/scsi/ufs/ufs-mediatek.c
> @@ -44,7 +44,7 @@
>  #define ufs_mtk_device_reset_ctrl(high, res) \
>         ufs_mtk_smc(UFS_MTK_SIP_DEVICE_RESET, high, res)
> 
> -static struct ufs_dev_quirk ufs_mtk_dev_fixups[] = {
> +static const struct ufs_dev_quirk ufs_mtk_dev_fixups[] = {
>         { .wmanufacturerid = UFS_VENDOR_MICRON,
>           .model = UFS_ANY_MODEL,
>           .quirk = UFS_DEVICE_QUIRK_DELAY_AFTER_LPM }, diff --git
> a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h index
> e38dec5f0351..bcb4f004bed5 100644
> --- a/drivers/scsi/ufs/ufs_quirks.h
> +++ b/drivers/scsi/ufs/ufs_quirks.h
> @@ -25,7 +25,7 @@
>   */
>  struct ufs_dev_quirk {
>         u16 wmanufacturerid;
> -       u8 *model;
> +       const u8 *model;
>         unsigned int quirk;
>  };
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index
> 97b9b2b77593..931ce620fc34 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -204,7 +204,7 @@ ufs_get_desired_pm_lvl_for_dev_link_state(enum
> ufs_dev_pwr_mode dev_state,
>         return UFS_PM_LVL_0;
>  }
> 
> -static struct ufs_dev_quirk ufs_fixups[] = {
> +static const struct ufs_dev_quirk ufs_fixups[] = {
>         /* UFS cards deviations table */
>         { .wmanufacturerid = UFS_VENDOR_MICRON,
>           .model = UFS_ANY_MODEL,
> @@ -7624,9 +7624,10 @@ static void ufshcd_temp_notif_probe(struct ufs_hba
> *hba, u8 *desc_buf)
>         }
>  }
> 
> -void ufshcd_fixup_dev_quirks(struct ufs_hba *hba, struct ufs_dev_quirk *fixups)
> +void ufshcd_fixup_dev_quirks(struct ufs_hba *hba,
> +                            const struct ufs_dev_quirk *fixups)
>  {
> -       struct ufs_dev_quirk *f;
> +       const struct ufs_dev_quirk *f;
>         struct ufs_dev_info *dev_info = &hba->dev_info;
> 
>         if (!fixups)
> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index
> 3d18581afc2b..107d19e98d52 100644
> --- a/drivers/scsi/ufs/ufshcd.h
> +++ b/drivers/scsi/ufs/ufshcd.h
> @@ -1180,7 +1180,8 @@ int ufshcd_query_flag(struct ufs_hba *hba, enum
> query_opcode opcode,
> 
>  void ufshcd_auto_hibern8_enable(struct ufs_hba *hba);  void
> ufshcd_auto_hibern8_update(struct ufs_hba *hba, u32 ahit); -void
> ufshcd_fixup_dev_quirks(struct ufs_hba *hba, struct ufs_dev_quirk *fixups);
> +void ufshcd_fixup_dev_quirks(struct ufs_hba *hba,
> +                            const struct ufs_dev_quirk *fixups);
>  #define SD_ASCII_STD true
>  #define SD_RAW false
>  int ufshcd_read_string_desc(struct ufs_hba *hba, u8 desc_index,




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux