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@xxxxxxxxx> 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@xxxxxxxxx> > Acked-by: Jonathan Cameron <jic23@xxxxxxxxx> >> --- >> 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-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html