aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-ocores.c
diff options
context:
space:
mode:
authorJayachandran C <jayachandranc@netlogicmicro.com>2012-07-13 09:44:22 -0400
committerWolfram Sang <w.sang@pengutronix.de>2012-07-14 07:30:14 -0400
commit9ae97a8996a6d6f66e2fbc221906e2406d6c261f (patch)
tree48cb8fc54461db166f4626c1c528bed89417b8fd /drivers/i2c/busses/i2c-ocores.c
parent097df403128c858c646448c5181435f7b8bdcbdc (diff)
i2c: i2c-ocores: DT bindings and minor fixes.
Cleanups to i2c-cores, no change in logic, changes are: * Move i2c-ocores device tree documentation from source file to Documentation/devicetree/bindings/i2c/i2c-ocores.txt. * Add \n to dev_warn and dev_err messages where missing * Minor updates to the text and formatting fixes. Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-ocores.c')
-rw-r--r--drivers/i2c/busses/i2c-ocores.c45
1 files changed, 7 insertions, 38 deletions
diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
index d7d21d532557..f6e7ad9f60e9 100644
--- a/drivers/i2c/busses/i2c-ocores.c
+++ b/drivers/i2c/busses/i2c-ocores.c
@@ -10,40 +10,9 @@
10 */ 10 */
11 11
12/* 12/*
13 * Device tree configuration: 13 * This driver can be used from the device tree, see
14 * 14 * Documentation/devicetree/bindings/i2c/ocore-i2c.txt
15 * Required properties:
16 * - compatible : "opencores,i2c-ocores"
17 * - reg : bus address start and address range size of device
18 * - interrupts : interrupt number
19 * - regstep : size of device registers in bytes
20 * - clock-frequency : frequency of bus clock in Hz
21 *
22 * Example:
23 *
24 * i2c0: ocores@a0000000 {
25 * compatible = "opencores,i2c-ocores";
26 * reg = <0xa0000000 0x8>;
27 * interrupts = <10>;
28 *
29 * regstep = <1>;
30 * clock-frequency = <20000000>;
31 *
32 * -- Devices connected on this I2C bus get
33 * -- defined here; address- and size-cells
34 * -- apply to these child devices
35 *
36 * #address-cells = <1>;
37 * #size-cells = <0>;
38 *
39 * dummy@60 {
40 * compatible = "dummy";
41 * reg = <60>;
42 * };
43 * };
44 *
45 */ 15 */
46
47#include <linux/kernel.h> 16#include <linux/kernel.h>
48#include <linux/module.h> 17#include <linux/module.h>
49#include <linux/init.h> 18#include <linux/init.h>
@@ -247,14 +216,14 @@ static struct i2c_adapter ocores_adapter = {
247}; 216};
248 217
249#ifdef CONFIG_OF 218#ifdef CONFIG_OF
250static int ocores_i2c_of_probe(struct platform_device* pdev, 219static int ocores_i2c_of_probe(struct platform_device *pdev,
251 struct ocores_i2c* i2c) 220 struct ocores_i2c *i2c)
252{ 221{
253 const __be32* val; 222 const __be32* val;
254 223
255 val = of_get_property(pdev->dev.of_node, "regstep", NULL); 224 val = of_get_property(pdev->dev.of_node, "regstep", NULL);
256 if (!val) { 225 if (!val) {
257 dev_err(&pdev->dev, "Missing required parameter 'regstep'"); 226 dev_err(&pdev->dev, "Missing required parameter 'regstep'\n");
258 return -ENODEV; 227 return -ENODEV;
259 } 228 }
260 i2c->regstep = be32_to_cpup(val); 229 i2c->regstep = be32_to_cpup(val);
@@ -262,7 +231,7 @@ static int ocores_i2c_of_probe(struct platform_device* pdev,
262 val = of_get_property(pdev->dev.of_node, "clock-frequency", NULL); 231 val = of_get_property(pdev->dev.of_node, "clock-frequency", NULL);
263 if (!val) { 232 if (!val) {
264 dev_err(&pdev->dev, 233 dev_err(&pdev->dev,
265 "Missing required parameter 'clock-frequency'"); 234 "Missing required parameter 'clock-frequency'\n");
266 return -ENODEV; 235 return -ENODEV;
267 } 236 }
268 i2c->clock_khz = be32_to_cpup(val) / 1000; 237 i2c->clock_khz = be32_to_cpup(val) / 1000;
@@ -351,7 +320,7 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
351 return 0; 320 return 0;
352} 321}
353 322
354static int __devexit ocores_i2c_remove(struct platform_device* pdev) 323static int __devexit ocores_i2c_remove(struct platform_device *pdev)
355{ 324{
356 struct ocores_i2c *i2c = platform_get_drvdata(pdev); 325 struct ocores_i2c *i2c = platform_get_drvdata(pdev);
357 326