lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 18 Oct 2011 13:51:51 +0100
From:	Jonathan Cameron <jic23@....ac.uk>
To:	Ricardo Ribalda Delgado <ricardo.ribalda@...il.com>
CC:	dmitry.torokhov@...il.com, sameo@...ux.intel.com,
	peter.ujfalusi@...com, aghayal@...eaurora.org, david@...deman.nu,
	Shubhrajyoti@...com, saaguirre@...com, hemanthv@...com,
	linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] input/cma3000_d0x: Support devices without pdata

On 10/18/11 13:07, Ricardo Ribalda Delgado wrote:
> 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.
Sure, for spi, those are all that makes sense, but you ought to be able
to use of_get_property to get to whatever else you need?
See for example drivers/hwmon/ads1015.c which is an i2c device doing similar
stuff.
> 
> I can give it a second thought, but I think it wont hurt to have a
> per-default configuration.
Indeed, nothing wrong with having a default, but the fact that dt
doesn't supply it isn't a good reason to state!
> 
>>> +
>>>  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
> 
> 
> 

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ