[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPybu_3mC5HnHZeic+D7G=K3oz_yyMAOkepBZmGmj6gPEZoY4A@mail.gmail.com>
Date: Tue, 18 Oct 2011 14:58:33 +0200
From: Ricardo Ribalda Delgado <ricardo.ribalda@...il.com>
To: Jonathan Cameron <jic23@....ac.uk>
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: [PATCHv2 1/7] input/cma3000_d0x: Support devices without pdata
Hello Jonathan
I think I am going to do it like ads1015.c. I will check for the
pdata, then for the dt info (if it is there) and finally go for the
default, if all fails. What do you think? Shall I fix it in cma3000
and cmr3000?
Thanks again
On Tue, Oct 18, 2011 at 14:53, Jonathan Cameron <jic23@....ac.uk> wrote:
> On 10/18/11 13:06, Ricardo Ribalda Delgado wrote:
>> Architectures based on device-tree does not have platform data
>> associated to the spi/i2c devices.
>> This patch allows those architectures to use the cma3000 driver with
>> a default configuration.
> Fine except for this description. Looks to be a perfectly reasonable
> way of specifying these in DT. So fix that and I'm happy.
> Whoever wants to pass this in from DT can do a patch for it!
>>
>> ---
>>
>> v2: Fixes suggested by Jonathan Cameron
>> -Spelling
>> -Simplify pdata!=NULL check
>>
>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@...il.com>
> Acked-by: Jonathan Cameron <jic23@....ac.uk>
>> ---
>> drivers/input/misc/cma3000_d0x.c | 20 +++++++++++++++-----
>> 1 files changed, 15 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/input/misc/cma3000_d0x.c b/drivers/input/misc/cma3000_d0x.c
>> index 1633b63..f2e87e3 100644
>> --- a/drivers/input/misc/cma3000_d0x.c
>> +++ b/drivers/input/misc/cma3000_d0x.c
>> @@ -62,6 +62,18 @@
>> #define BIT_TO_2G 18
>> #define BIT_TO_8G 71
>>
>> +static struct cma3000_platform_data cma3000_default_pdata = {
>> + .mdthr = 0x8,
>> + .mdfftmr = 0x33,
>> + .ffthr = 0x8,
>> + .mode = CMAMODE_MEAS400,
>> + .g_range = CMARANGE_2G,
>> + .fuzz_x = BIT_TO_2G,
>> + .fuzz_y = BIT_TO_2G,
>> + .fuzz_z = BIT_TO_2G,
>> + .irqflags = 0,
>> +};
>> +
>> struct cma3000_accl_data {
>> const struct cma3000_bus_ops *bus_ops;
>> const struct cma3000_platform_data *pdata;
>> @@ -289,13 +301,11 @@ struct cma3000_accl_data *cma3000_init(struct device *dev, int irq,
>> int rev;
>> int error;
>>
>> - if (!pdata) {
>> - dev_err(dev, "platform data not found\n");
>> - error = -EINVAL;
>> - goto err_out;
>> + if (pdata == NULL) {
>> + dev_info(dev, "platform data not found, using default\n");
>> + pdata = &cma3000_default_pdata;
>> }
>>
>> -
>> /* if no IRQ return error */
>> if (irq == 0) {
>> error = -EINVAL;
>
>
--
Ricardo Ribalda
--
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