On 10/02/19 6:49 PM, Boris Brezillon wrote:
> On Tue, 5 Feb 2019 11:43:46 +0530
> Vignesh R <vigne...@ti.com> wrote:
> 
>>>>  static int cqspi_setup_flash(struct cqspi_st *cqspi, struct device_node 
>>>> *np)
>>>>  {
>>>> -  const struct spi_nor_hwcaps hwcaps = {
>>>> -          .mask = SNOR_HWCAPS_READ |
>>>> -                  SNOR_HWCAPS_READ_FAST |
>>>> -                  SNOR_HWCAPS_READ_1_1_2 |
>>>> -                  SNOR_HWCAPS_READ_1_1_4 |
>>>> -                  SNOR_HWCAPS_PP,
>>>> -  };
>>>>    struct platform_device *pdev = cqspi->pdev;
>>>>    struct device *dev = &pdev->dev;
>>>> +  const struct cqspi_driver_platdata *ddata;
>>>> +  struct spi_nor_hwcaps hwcaps;
>>>>    struct cqspi_flash_pdata *f_pdata;
>>>>    struct spi_nor *nor;
>>>>    struct mtd_info *mtd;
>>>>    unsigned int cs;
>>>>    int i, ret;
>>>>  
>>>> +  ddata = of_device_get_match_data(dev);
>>>> +  if (!ddata)
>>>> +          hwcaps.mask = CQSPI_BASE_HWCAPS_MASK;  
>>>
>>> Now that .data is set in all cqspi_dt_ids[], maybe it's better to print a
>>> message and return an error here. But I guess it's a matter of taste, so 
>>> not a
>>> show stopper.  
>>
>> Since, driver data is kernel internal field, I guess there is little
>> help in printing out the error to the user when its missing. I prefer to
>> keep this as is, as basic Quad mode is supported by all versions of the IP.
> 
> Well, if all compat entries have an associated platdata instance we
> don't need to support the !ddata case, right? I think enforcing the
> presence of such a platdata is actually is a sane thing to do (which
> implies returning an error when ddata is NULL).
> 

Ok, will respin with a dev_err() and return -EINVAL when ddata is NULL.

-- 
Regards
Vignesh

Reply via email to