On 02/06/2018 10:01 PM, Florian Echtler wrote: > To allow setting custom parameters for the sensor directly at startup, the > three primary controls are exposed as module parameters in this patch. > > Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx> > --- > drivers/input/touchscreen/sur40.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c > index 66ef7e6..d1fcb95 100644 > --- a/drivers/input/touchscreen/sur40.c > +++ b/drivers/input/touchscreen/sur40.c > @@ -167,6 +167,17 @@ struct sur40_image_header { > #define SUR40_BACKLIGHT_MIN 0x00 > #define SUR40_BACKLIGHT_DEF 0x01 > > +/* module parameters */ > +static uint brightness = SUR40_BRIGHTNESS_DEF; > +module_param(brightness, uint, 0644); > +MODULE_PARM_DESC(brightness, "set default brightness"); > +static uint contrast = SUR40_CONTRAST_DEF; > +module_param(contrast, uint, 0644); > +MODULE_PARM_DESC(contrast, "set default contrast"); > +static uint gain = SUR40_GAIN_DEF; > +module_param(gain, uint, 0644); > +MODULE_PARM_DESC(contrast, "set default gain"); contrast -> gain Isn't 'initial gain' better than 'default gain'? If I load this module with gain=X, will the gain control also start off at X? I didn't see any code for that. It might be useful to add the allowed range in the description. E.g.: "set initial gain, range=0-255". Perhaps mention even the default value, but I'm not sure if that's really needed. Regards, Hans > + > static const struct v4l2_pix_format sur40_pix_format[] = { > { > .pixelformat = V4L2_TCH_FMT_TU08, > @@ -374,6 +385,11 @@ static void sur40_open(struct input_polled_dev *polldev) > > dev_dbg(sur40->dev, "open\n"); > sur40_init(sur40); > + > + /* set default values */ > + sur40_set_irlevel(sur40, brightness & 0xFF); > + sur40_set_vsvideo(sur40, ((contrast & 0x0F) << 4) | (gain & 0x0F)); > + sur40_set_preprocessor(sur40, SUR40_BACKLIGHT_DEF); > } > > /* Disable device, polling has stopped. */ >