Re: [PATCHv2 1/7] input/cma3000_d0x: Support devices without pdata
From: Ricardo Ribalda Delgado <hidden>
Date: 2011-10-18 12:59:16
Also in:
lkml
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 [off-list ref] wrote:
On 10/18/11 13:06, Ricardo Ribalda Delgado wrote:quoted
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!quoted
--- v2: Fixes suggested by Jonathan Cameron -Spelling -Simplify pdata!=NULL check Signed-off-by: Ricardo Ribalda Delgado <redacted>Acked-by: Jonathan Cameron <redacted>quoted
--- 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html