mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-22 04:56:15 +00:00
538a1d740c
The patches were generated from the RPi repo with the following command: git format-patch v6.6.58..rpi-6.6.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
91 lines
2.4 KiB
Diff
91 lines
2.4 KiB
Diff
From b510e5cbbf8b8e2da3198cf931452290629876b7 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Fri, 20 Sep 2024 18:32:11 +0100
|
|
Subject: [PATCH 1274/1350] regulator/rpi-panel: Remove the ID read
|
|
|
|
Reading from the Atmel has always been troublesome due to
|
|
clock stretching, and the driver does nothing with it anyway.
|
|
|
|
Remove the read and assume that if the overlay has been
|
|
configured (most likely through the firmware autodetection)
|
|
that the hardware is present.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
.../regulator/rpi-panel-attiny-regulator.c | 50 -------------------
|
|
1 file changed, 50 deletions(-)
|
|
|
|
--- a/drivers/regulator/rpi-panel-attiny-regulator.c
|
|
+++ b/drivers/regulator/rpi-panel-attiny-regulator.c
|
|
@@ -229,39 +229,6 @@ static void attiny_gpio_set(struct gpio_
|
|
mutex_unlock(&state->lock);
|
|
}
|
|
|
|
-static int attiny_i2c_read(struct i2c_client *client, u8 reg, unsigned int *buf)
|
|
-{
|
|
- struct i2c_msg msgs[1];
|
|
- u8 addr_buf[1] = { reg };
|
|
- u8 data_buf[1] = { 0, };
|
|
- int ret;
|
|
-
|
|
- /* Write register address */
|
|
- msgs[0].addr = client->addr;
|
|
- msgs[0].flags = 0;
|
|
- msgs[0].len = ARRAY_SIZE(addr_buf);
|
|
- msgs[0].buf = addr_buf;
|
|
-
|
|
- ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
|
|
- if (ret != ARRAY_SIZE(msgs))
|
|
- return -EIO;
|
|
-
|
|
- usleep_range(5000, 10000);
|
|
-
|
|
- /* Read data from register */
|
|
- msgs[0].addr = client->addr;
|
|
- msgs[0].flags = I2C_M_RD;
|
|
- msgs[0].len = 1;
|
|
- msgs[0].buf = data_buf;
|
|
-
|
|
- ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
|
|
- if (ret != ARRAY_SIZE(msgs))
|
|
- return -EIO;
|
|
-
|
|
- *buf = data_buf[0];
|
|
- return 0;
|
|
-}
|
|
-
|
|
/*
|
|
* I2C driver interface functions
|
|
*/
|
|
@@ -273,7 +240,6 @@ static int attiny_i2c_probe(struct i2c_c
|
|
struct regulator_dev *rdev;
|
|
struct attiny_lcd *state;
|
|
struct regmap *regmap;
|
|
- unsigned int data;
|
|
int ret;
|
|
|
|
state = devm_kzalloc(&i2c->dev, sizeof(*state), GFP_KERNEL);
|
|
@@ -291,22 +257,6 @@ static int attiny_i2c_probe(struct i2c_c
|
|
goto error;
|
|
}
|
|
|
|
- ret = attiny_i2c_read(i2c, REG_ID, &data);
|
|
- if (ret < 0) {
|
|
- dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret);
|
|
- goto error;
|
|
- }
|
|
-
|
|
- switch (data) {
|
|
- case 0xde: /* ver 1 */
|
|
- case 0xc3: /* ver 2 */
|
|
- break;
|
|
- default:
|
|
- dev_err(&i2c->dev, "Unknown Atmel firmware revision: 0x%02x\n", data);
|
|
- ret = -ENODEV;
|
|
- goto error;
|
|
- }
|
|
-
|
|
regmap_write(regmap, REG_POWERON, 0);
|
|
msleep(30);
|
|
regmap_write(regmap, REG_PWM, 0);
|