summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2026-01-24 12:58:36 +0100
committerWolfram Sang <wsa+renesas@sang-engineering.com>2026-01-24 12:58:36 +0100
commit756b7b8d0a7be725baaf92bfce794a72021145d4 (patch)
treeeb17fd5030e1883bf2702aec8bc40fc92565c900
parent71ebc45fa052c2c20e4255f01176a54c437eecd2 (diff)
parentde284988c270cc16a3fb41f8f6955394d4af2a12 (diff)
Merge tag 'at24-updates-for-v7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-mergewindow
at24 updates for v7.0-rc1 - add a set of new compatibles to DT bindings - use dev_err_probe() consistently in the driver
-rw-r--r--Documentation/devicetree/bindings/eeprom/at24.yaml4
-rw-r--r--drivers/misc/eeprom/at24.c20
2 files changed, 11 insertions, 13 deletions
diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml
index c21282634780..ef88f46928a4 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.yaml
+++ b/Documentation/devicetree/bindings/eeprom/at24.yaml
@@ -116,6 +116,7 @@ properties:
- const: atmel,24c02
- items:
- enum:
+ - belling,bl24c04a
- giantec,gt24c04a
- onnn,cat24c04
- onnn,cat24c05
@@ -124,6 +125,7 @@ properties:
- items:
- enum:
- belling,bl24c16a
+ - belling,bl24c16f
- renesas,r1ex24016
- const: atmel,24c16
- items:
@@ -132,6 +134,7 @@ properties:
- items:
- enum:
- belling,bl24s64
+ - giantec,gt24p64a
- onnn,n24s64b
- puya,p24c64f
- const: atmel,24c64
@@ -139,6 +142,7 @@ properties:
- enum:
- giantec,gt24p128e
- giantec,gt24p128f
+ - puya,p24c128f
- renesas,r1ex24128
- samsung,s524ad0xd1
- const: atmel,24c128
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index f721825199ce..0200288d3a7a 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -657,10 +657,8 @@ static int at24_probe(struct i2c_client *client)
if (!i2c_fn_i2c && !i2c_fn_block)
page_size = 1;
- if (!page_size) {
- dev_err(dev, "page_size must not be 0!\n");
- return -EINVAL;
- }
+ if (!page_size)
+ return dev_err_probe(dev, -EINVAL, "page_size must not be 0!\n");
if (!is_power_of_2(page_size))
dev_warn(dev, "page_size looks suspicious (no power of 2)!\n");
@@ -674,11 +672,9 @@ static int at24_probe(struct i2c_client *client)
(flags & AT24_FLAG_ADDR16) ? 65536 : 256);
}
- if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC)) {
- dev_err(dev,
- "invalid device data - cannot have both AT24_FLAG_SERIAL & AT24_FLAG_MAC.");
- return -EINVAL;
- }
+ if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC))
+ return dev_err_probe(dev, -EINVAL,
+ "invalid device data - cannot have both AT24_FLAG_SERIAL & AT24_FLAG_MAC.");
regmap_config.val_bits = 8;
regmap_config.reg_bits = (flags & AT24_FLAG_ADDR16) ? 16 : 8;
@@ -759,10 +755,8 @@ static int at24_probe(struct i2c_client *client)
full_power = acpi_dev_state_d0(&client->dev);
if (full_power) {
err = regulator_enable(at24->vcc_reg);
- if (err) {
- dev_err(dev, "Failed to enable vcc regulator\n");
- return err;
- }
+ if (err)
+ return dev_err_probe(dev, err, "Failed to enable vcc regulator\n");
pm_runtime_set_active(dev);
}