* [PATCH 1/3] [POWERPC] fsl_soc: fix uninitialized i2c_board_info structure
2007-10-02 13:45 [PATCH 0/3] Few more mpc8568mds and fsl_soc related patches Anton Vorontsov
@ 2007-10-02 13:47 ` Anton Vorontsov
2007-10-02 13:47 ` [PATCH 2/3] [POWERPC] MPC8568E-MDS: add support for ds1374 rtc Anton Vorontsov
2007-10-02 13:48 ` [PATCH 3/3] [POWERPC] mpc8568mds.dts: fix PCIe I/O address space location and size Anton Vorontsov
2 siblings, 0 replies; 4+ messages in thread
From: Anton Vorontsov @ 2007-10-02 13:47 UTC (permalink / raw)
To: linuxppc-dev
i2c_board_info used semi-initialized, causing garbage in the
info->flags, and that, in turn, causes various symptoms of i2c
malfunctioning, like PEC mismatches.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
arch/powerpc/sysdev/fsl_soc.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 4a16456..91987e0 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -363,7 +363,7 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
struct device_node *node = NULL;
while ((node = of_get_next_child(adap_node, node))) {
- struct i2c_board_info info;
+ struct i2c_board_info info = {};
const u32 *addr;
int len;
@@ -380,7 +380,6 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
if (of_find_i2c_driver(node, &info) < 0)
continue;
- info.platform_data = NULL;
info.addr = *addr;
i2c_register_board_info(bus_num, &info, 1);
--
1.5.0.6
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] [POWERPC] MPC8568E-MDS: add support for ds1374 rtc
2007-10-02 13:45 [PATCH 0/3] Few more mpc8568mds and fsl_soc related patches Anton Vorontsov
2007-10-02 13:47 ` [PATCH 1/3] [POWERPC] fsl_soc: fix uninitialized i2c_board_info structure Anton Vorontsov
@ 2007-10-02 13:47 ` Anton Vorontsov
2007-10-02 13:48 ` [PATCH 3/3] [POWERPC] mpc8568mds.dts: fix PCIe I/O address space location and size Anton Vorontsov
2 siblings, 0 replies; 4+ messages in thread
From: Anton Vorontsov @ 2007-10-02 13:47 UTC (permalink / raw)
To: linuxppc-dev
MPC8568E-MDS have DS1374 chip on the I2C bus, thus let's use it.
This patch also adds #address-cells and #size-cells to the I2C
controllers nodes.
p.s. DS1374 rtc class driver is in the -mm tree, its name is
rtc-rtc-class-driver-for-the-ds1374.patch.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
arch/powerpc/boot/dts/mpc8568mds.dts | 9 +++++++++
arch/powerpc/sysdev/fsl_soc.c | 1 +
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/boot/dts/mpc8568mds.dts b/arch/powerpc/boot/dts/mpc8568mds.dts
index 1d082fb..a177dd0 100644
--- a/arch/powerpc/boot/dts/mpc8568mds.dts
+++ b/arch/powerpc/boot/dts/mpc8568mds.dts
@@ -72,15 +72,24 @@
};
i2c@3000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
device_type = "i2c";
compatible = "fsl-i2c";
reg = <3000 100>;
interrupts = <2b 2>;
interrupt-parent = <&mpic>;
dfsrr;
+
+ rtc@68 {
+ compatible = "dallas,ds1374";
+ reg = <68>;
+ };
};
i2c@3100 {
+ #address-cells = <1>;
+ #size-cells = <0>;
device_type = "i2c";
compatible = "fsl-i2c";
reg = <3100 100>;
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 91987e0..c765d7a 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -337,6 +337,7 @@ static struct i2c_driver_device i2c_devices[] __initdata = {
{"dallas,ds1339", "rtc-ds1307", "ds1339",},
{"dallas,ds1340", "rtc-ds1307", "ds1340",},
{"stm,m41t00", "rtc-ds1307", "m41t00"},
+ {"dallas,ds1374", "rtc-ds1374", "rtc-ds1374",},
};
static int __init of_find_i2c_driver(struct device_node *node,
--
1.5.0.6
^ permalink raw reply related [flat|nested] 4+ messages in thread