eeprom: at24: implement support for 'num-addresses' property
If the device node defines 'num-addresses', let it override the default behavior. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
parent
e7224a116f
commit
950bcbbe31
|
@ -641,11 +641,14 @@ static int at24_probe(struct i2c_client *client)
|
||||||
if (!is_power_of_2(page_size))
|
if (!is_power_of_2(page_size))
|
||||||
dev_warn(dev, "page_size looks suspicious (no power of 2)!\n");
|
dev_warn(dev, "page_size looks suspicious (no power of 2)!\n");
|
||||||
|
|
||||||
if (flags & AT24_FLAG_TAKE8ADDR)
|
err = device_property_read_u32(dev, "num-addresses", &num_addresses);
|
||||||
num_addresses = 8;
|
if (err) {
|
||||||
else
|
if (flags & AT24_FLAG_TAKE8ADDR)
|
||||||
num_addresses = DIV_ROUND_UP(byte_len,
|
num_addresses = 8;
|
||||||
(flags & AT24_FLAG_ADDR16) ? 65536 : 256);
|
else
|
||||||
|
num_addresses = DIV_ROUND_UP(byte_len,
|
||||||
|
(flags & AT24_FLAG_ADDR16) ? 65536 : 256);
|
||||||
|
}
|
||||||
|
|
||||||
if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC)) {
|
if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC)) {
|
||||||
dev_err(dev,
|
dev_err(dev,
|
||||||
|
|
Loading…
Reference in New Issue