On Mon, Mar 11, 2013 at 12:36:05AM +0100, Vicente Bergas wrote: > > + > +static int __init twl6030_pwrbtn_probe(struct device_d *dev) > +{ > + struct twl6030_pwrbtn_platform_data *pdata; > + struct console_device *cdev; > + > + pdata = dev->platform_data; > + > + if (!pdata) { > + pr_err("missing platform_data\n"); use dev_err and friends for driver messages. > + return -ENODEV; > + } > + > + pdata->twl6030 = twl6030_get(); > + if (!pdata->fifo_size) > + pdata->fifo_size = 4; > + > + pdata->recv_fifo = kfifo_alloc(pdata->fifo_size); > + > + pdata->poller.func = ic2_key_poller; > + > + cdev = &pdata->cdev; > + dev->type_data = cdev; > + cdev->dev = dev; > + cdev->f_caps = CONSOLE_STDIN; > + cdev->tstc = twl6030_pwrbtn_tstc; > + cdev->getc = twl6030_pwrbtn_getc; > + > + console_register(&pdata->cdev); > + > + return poller_register(&pdata->poller); > +} > + > +static struct driver_d twl6030_pwrbtn_driver = { > + .name = "twl6030_pwrbtn", > + .probe = twl6030_pwrbtn_probe, > +}; > +device_platform_driver(twl6030_pwrbtn_driver); > diff --git a/include/twl6030_pwrbtn.h b/include/twl6030_pwrbtn.h > new file mode 100644 > index 0000000..e7e8383 > --- /dev/null > +++ b/include/twl6030_pwrbtn.h > @@ -0,0 +1,23 @@ > +#ifndef _TWL6030_PWRBTN_H > +#define _TWL6030_PWRBTN_H > + > +#include <poller.h> > +#include <kfifo.h> > +#include <mfd/twl6030.h> > + > +struct twl6030_pwrbtn_platform_data { > + /* Configuration parameters */ > + int code; > + /* optional */ > + int fifo_size; Since this driver handles a single key only, must the fifo size be configurable? > + > + /* internal */ > + u8 previous_state; > + > + struct twl6030 *twl6030; > + struct kfifo *recv_fifo; > + struct poller_struct poller; > + struct console_device cdev; > +}; Please do not abuse platform_data for private driver data use. Allocate a separate struct for it. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox