aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2016-04-07 21:25:10 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2016-04-07 21:25:10 +0200
commita8d4d71c41ff0158c2026cac5981e39702167da9 (patch)
tree0c54ec3eb59f5bab6aa7318d14c92ff875412202 /target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
parent59e0e88c22007fd77ee9c6c8e02a689889a5f597 (diff)
downloadupstream-a8d4d71c41ff0158c2026cac5981e39702167da9.tar.gz
upstream-a8d4d71c41ff0158c2026cac5981e39702167da9.tar.bz2
upstream-a8d4d71c41ff0158c2026cac5981e39702167da9.zip
brcm2708: update to latest version
As usual these patches were extracted from the raspberry pi repo: https://github.com/raspberrypi/linux/commits/rpi-4.4.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch')
-rw-r--r--target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch b/target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
deleted file mode 100644
index b3ce9719ac..0000000000
--- a/target/linux/brcm2708/patches-4.4/0142-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 7519a79f61a67792e238a118db58600fb5f60ec8 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Tue, 19 Jan 2016 16:28:05 +0000
-Subject: [PATCH 142/170] FIXUP i2c_bcm2708: Don't change module baudrate
- parameter
-
-Overwriting the baudrate module parameter creates an apparent
-forced baudrate for i2c busses after the first. Not only does this
-override the baudrate from DT it also prevents the bus ID from
-being initialised.
-
-Also fix whitespace errors.
----
- drivers/i2c/busses/i2c-bcm2708.c | 48 +++++++++++++++++++++-------------------
- 1 file changed, 25 insertions(+), 23 deletions(-)
-
---- a/drivers/i2c/busses/i2c-bcm2708.c
-+++ b/drivers/i2c/busses/i2c-bcm2708.c
-@@ -71,7 +71,6 @@
-
- #define DRV_NAME "bcm2708_i2c"
-
--static unsigned int baudrate_default = CONFIG_I2C_BCM2708_BAUDRATE;
- static unsigned int baudrate;
- module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
- MODULE_PARM_DESC(baudrate, "The I2C baudrate");
-@@ -317,25 +316,28 @@ static int bcm2708_i2c_probe(struct plat
- struct i2c_adapter *adap;
- unsigned long bus_hz;
- u32 cdiv, clk_tout;
--
-- if (!baudrate) {
-- baudrate = baudrate_default;
-- if (pdev->dev.of_node) {
-- u32 bus_clk_rate;
-- pdev->id = of_alias_get_id(pdev->dev.of_node, "i2c");
-- if (pdev->id < 0) {
-- dev_err(&pdev->dev, "alias is missing\n");
-- return -EINVAL;
-- }
-- if (!of_property_read_u32(pdev->dev.of_node,
-- "clock-frequency", &bus_clk_rate))
-- baudrate = bus_clk_rate;
-- else
-- dev_warn(&pdev->dev,
-- "Could not read clock-frequency property\n");
-+ u32 baud;
-+
-+ baud = CONFIG_I2C_BCM2708_BAUDRATE;
-+
-+ if (pdev->dev.of_node) {
-+ u32 bus_clk_rate;
-+ pdev->id = of_alias_get_id(pdev->dev.of_node, "i2c");
-+ if (pdev->id < 0) {
-+ dev_err(&pdev->dev, "alias is missing\n");
-+ return -EINVAL;
- }
-+ if (!of_property_read_u32(pdev->dev.of_node,
-+ "clock-frequency", &bus_clk_rate))
-+ baud = bus_clk_rate;
-+ else
-+ dev_warn(&pdev->dev,
-+ "Could not read clock-frequency property\n");
- }
-
-+ if (baudrate)
-+ baud = baudrate;
-+
- regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!regs) {
- dev_err(&pdev->dev, "could not get IO memory\n");
-@@ -419,21 +421,21 @@ static int bcm2708_i2c_probe(struct plat
- }
-
- bus_hz = clk_get_rate(bi->clk);
-- cdiv = bus_hz / baudrate;
-+ cdiv = bus_hz / baud;
- if (cdiv > 0xffff) {
- cdiv = 0xffff;
-- baudrate = bus_hz / cdiv;
-+ baud = bus_hz / cdiv;
- }
--
-- clk_tout = 35/1000*baudrate; //35ms timeout as per SMBus specs.
-- if (clk_tout > 0xffff)
-+
-+ clk_tout = 35/1000*baud; //35ms timeout as per SMBus specs.
-+ if (clk_tout > 0xffff)
- clk_tout = 0xffff;
-
- bi->cdiv = cdiv;
- bi->clk_tout = clk_tout;
-
- dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %d)\n",
-- pdev->id, (unsigned long)regs->start, irq, baudrate);
-+ pdev->id, (unsigned long)regs->start, irq, baud);
-
- return 0;
-