czw., 8 lis 2018 o 23:08 Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> napisał(a): > > 4.14-stable review patch. If anyone has any objections, please let me know. > Hi Greg, this looks like a new feature, not a fix. Are you sure this should go into the stable branch? Best regards, Bartosz Golaszewski > ------------------ > > [ Upstream commit a2b3bf4846e5eed62ea6abb096af2c950961033c ] > > Provide a flexible way to determine the addressing bits of eeprom. > Pass the addressing bits to driver through address-width property. > > Signed-off-by: Alan Chiang <alanx.chiang@xxxxxxxxx> > Signed-off-by: Andy Yeh <andy.yeh@xxxxxxxxx> > Signed-off-by: Bartosz Golaszewski <brgl@xxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > drivers/misc/eeprom/at24.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c > index 4cc0b42f2acc..ded48a0c77ee 100644 > --- a/drivers/misc/eeprom/at24.c > +++ b/drivers/misc/eeprom/at24.c > @@ -577,6 +577,23 @@ static void at24_get_pdata(struct device *dev, struct at24_platform_data *chip) > if (device_property_present(dev, "read-only")) > chip->flags |= AT24_FLAG_READONLY; > > + err = device_property_read_u32(dev, "address-width", &val); > + if (!err) { > + switch (val) { > + case 8: > + if (chip->flags & AT24_FLAG_ADDR16) > + dev_warn(dev, "Override address width to be 8, while default is 16\n"); > + chip->flags &= ~AT24_FLAG_ADDR16; > + break; > + case 16: > + chip->flags |= AT24_FLAG_ADDR16; > + break; > + default: > + dev_warn(dev, "Bad \"address-width\" property: %u\n", > + val); > + } > + } > + > err = device_property_read_u32(dev, "pagesize", &val); > if (!err) { > chip->page_size = val; > -- > 2.17.1 > > >