diff mbox series

eeprom: at24: Add permission to write_timeout

Message ID 20210128081030.2345998-1-hsiufangho@google.com
State Needs Review / ACK
Delegated to: Bartosz Golaszewski
Headers show
Series eeprom: at24: Add permission to write_timeout | expand

Commit Message

Jenny Ho Jan. 28, 2021, 8:10 a.m. UTC
Need to change timeout time for different use
cases to prevent I2C error cases. Open the api
and allow Read/Write permission to write_timeout

Signed-off-by: Jenny Ho <hsiufangho@google.com>
---
 drivers/misc/eeprom/at24.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Bartosz Golaszewski Jan. 28, 2021, 9:04 a.m. UTC | #1
On Thu, Jan 28, 2021 at 9:10 AM Jenny Ho <hsiufangho@google.com> wrote:
>
> Need to change timeout time for different use
> cases to prevent I2C error cases. Open the api
> and allow Read/Write permission to write_timeout
>
> Signed-off-by: Jenny Ho <hsiufangho@google.com>
> ---
>  drivers/misc/eeprom/at24.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
> index 926408b41270..39caead4058c 100644
> --- a/drivers/misc/eeprom/at24.c
> +++ b/drivers/misc/eeprom/at24.c
> @@ -117,7 +117,7 @@ MODULE_PARM_DESC(at24_io_limit, "Maximum bytes per I/O (default 128)");
>   * it's important to recover from write timeouts.
>   */
>  static unsigned int at24_write_timeout = 25;
> -module_param_named(write_timeout, at24_write_timeout, uint, 0);
> +module_param_named(write_timeout, at24_write_timeout, uint, 0600);
>  MODULE_PARM_DESC(at24_write_timeout, "Time (in ms) to try writes (default 25)");
>
>  struct at24_chip_data {
> --
> 2.30.0.280.ga3ce27912f-goog
>

IMO this should be a per-chip device property and not a global module
param. Any chance you could maybe try and extend the driver with a new
property for that?

Bart
Greg Kroah-Hartman Jan. 28, 2021, 9:11 a.m. UTC | #2
On Thu, Jan 28, 2021 at 10:04:42AM +0100, Bartosz Golaszewski wrote:
> On Thu, Jan 28, 2021 at 9:10 AM Jenny Ho <hsiufangho@google.com> wrote:
> >
> > Need to change timeout time for different use
> > cases to prevent I2C error cases. Open the api
> > and allow Read/Write permission to write_timeout
> >
> > Signed-off-by: Jenny Ho <hsiufangho@google.com>
> > ---
> >  drivers/misc/eeprom/at24.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
> > index 926408b41270..39caead4058c 100644
> > --- a/drivers/misc/eeprom/at24.c
> > +++ b/drivers/misc/eeprom/at24.c
> > @@ -117,7 +117,7 @@ MODULE_PARM_DESC(at24_io_limit, "Maximum bytes per I/O (default 128)");
> >   * it's important to recover from write timeouts.
> >   */
> >  static unsigned int at24_write_timeout = 25;
> > -module_param_named(write_timeout, at24_write_timeout, uint, 0);
> > +module_param_named(write_timeout, at24_write_timeout, uint, 0600);
> >  MODULE_PARM_DESC(at24_write_timeout, "Time (in ms) to try writes (default 25)");
> >
> >  struct at24_chip_data {
> > --
> > 2.30.0.280.ga3ce27912f-goog
> >
> 
> IMO this should be a per-chip device property and not a global module
> param. Any chance you could maybe try and extend the driver with a new
> property for that?

This already is a global module parameter :)

But I agree, having it per-device would be much better, a sysfs
attribute would easily work for that.

thanks,

greg k-h
Bartosz Golaszewski Jan. 28, 2021, 9:44 a.m. UTC | #3
On Thu, Jan 28, 2021 at 10:12 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Thu, Jan 28, 2021 at 10:04:42AM +0100, Bartosz Golaszewski wrote:
> > On Thu, Jan 28, 2021 at 9:10 AM Jenny Ho <hsiufangho@google.com> wrote:
> > >
> > > Need to change timeout time for different use
> > > cases to prevent I2C error cases. Open the api
> > > and allow Read/Write permission to write_timeout
> > >
> > > Signed-off-by: Jenny Ho <hsiufangho@google.com>
> > > ---
> > >  drivers/misc/eeprom/at24.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
> > > index 926408b41270..39caead4058c 100644
> > > --- a/drivers/misc/eeprom/at24.c
> > > +++ b/drivers/misc/eeprom/at24.c
> > > @@ -117,7 +117,7 @@ MODULE_PARM_DESC(at24_io_limit, "Maximum bytes per I/O (default 128)");
> > >   * it's important to recover from write timeouts.
> > >   */
> > >  static unsigned int at24_write_timeout = 25;
> > > -module_param_named(write_timeout, at24_write_timeout, uint, 0);
> > > +module_param_named(write_timeout, at24_write_timeout, uint, 0600);
> > >  MODULE_PARM_DESC(at24_write_timeout, "Time (in ms) to try writes (default 25)");
> > >
> > >  struct at24_chip_data {
> > > --
> > > 2.30.0.280.ga3ce27912f-goog
> > >
> >
> > IMO this should be a per-chip device property and not a global module
> > param. Any chance you could maybe try and extend the driver with a new
> > property for that?
>
> This already is a global module parameter :)
>

I know but if we're touching it, then better do the right thing. :)

> But I agree, having it per-device would be much better, a sysfs
> attribute would easily work for that.
>

I was thinking about a generic device property that could be set from
device tree etc. I doubt there's much need to change this at runtime
outside of development?

Bart
diff mbox series

Patch

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index 926408b41270..39caead4058c 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -117,7 +117,7 @@  MODULE_PARM_DESC(at24_io_limit, "Maximum bytes per I/O (default 128)");
  * it's important to recover from write timeouts.
  */
 static unsigned int at24_write_timeout = 25;
-module_param_named(write_timeout, at24_write_timeout, uint, 0);
+module_param_named(write_timeout, at24_write_timeout, uint, 0600);
 MODULE_PARM_DESC(at24_write_timeout, "Time (in ms) to try writes (default 25)");
 
 struct at24_chip_data {