Re: [PATCH 1/5] input/cma3000_d0x: Support devices without pdata

From: Ricardo Ribalda Delgado
Date: Tue Oct 18 2011 - 08:07:51 EST


Hello Jonathan

Thanks for your fast reply :)

> I'm not that familiar with DT yet, but surely there is a means to supplying
> the equivalent data?  I'd prefer to see that provided here as well.

If you check the file drivers/of/of_spi.c you can see that only reg,
spi-cpha, spi-cpol, spi-cs-high, spi-max-freq and irq is imported
straight from the DT, that is why I created the default configuration.

I can give it a second thought, but I think it wont hurt to have a
per-default configuration.

>> +
>>  struct cma3000_accl_data {
>>       const struct cma3000_bus_ops *bus_ops;
>>       const struct cma3000_platform_data *pdata;
>> @@ -283,19 +295,24 @@ EXPORT_SYMBOL(cma3000_resume);
>>  struct cma3000_accl_data *cma3000_init(struct device *dev, int irq,
>>                                      const struct cma3000_bus_ops *bops)
>>  {
>> -     const struct cma3000_platform_data *pdata = dev->platform_data;
>> +     const struct cma3000_platform_data *pdata;
> Leave this line alone....
>>       struct cma3000_accl_data *data;
>>       struct input_dev *input_dev;
>>       int rev;
>>       int error;
>>
>> +     if (!dev->platform_data) {
>> +             dev_info(dev, "platform data not found, using default\n");
>> +             pdata = &cma3000_default_pdata;
>> +     } else
>> +             pdata = dev->platform_data;
>> +
> and this becomes
>
> if (pdata == NULL) {
>        dev_info(dev, "platform data not found, using default\n");
>        pdata = &cma3000_default_pdata;
> }
>
>>       if (!pdata) {
>>               dev_err(dev, "platform data not found\n");
>>               error = -EINVAL;
>>               goto err_out;
>>       }
> This can't happen now so get rid of the test.
>>
>> -
>>       /* if no IRQ return error */
>>       if (irq == 0) {
>>               error = -EINVAL;
>
>

Ready on the new version of the patch.


Thanks again



--
Ricardo Ribalda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/