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/