Loading Documentation/devicetree/bindings/i2c/i2c-mxs.txt 0 → 100644 +16 −0 Original line number Diff line number Diff line * Freescale MXS Inter IC (I2C) Controller Required properties: - compatible: Should be "fsl,<chip>-i2c" - reg: Should contain registers location and length - interrupts: Should contain ERROR and DMA interrupts Examples: i2c0: i2c@80058000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx28-i2c"; reg = <0x80058000 2000>; interrupts = <111 68>; }; drivers/i2c/busses/i2c-mxs.c +13 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ #include <linux/jiffies.h> #include <linux/io.h> #include <linux/pinctrl/consumer.h> #include <linux/of.h> #include <linux/of_device.h> #include <linux/of_i2c.h> #include <mach/common.h> Loading Loading @@ -371,6 +374,7 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev) adap->algo = &mxs_i2c_algo; adap->dev.parent = dev; adap->nr = pdev->id; adap->dev.of_node = pdev->dev.of_node; i2c_set_adapdata(adap, i2c); err = i2c_add_numbered_adapter(adap); if (err) { Loading @@ -380,6 +384,8 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev) return err; } of_i2c_register_devices(adap); return 0; } Loading @@ -399,10 +405,17 @@ static int __devexit mxs_i2c_remove(struct platform_device *pdev) return 0; } static const struct of_device_id mxs_i2c_dt_ids[] = { { .compatible = "fsl,imx28-i2c", }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mxs_i2c_dt_ids); static struct platform_driver mxs_i2c_driver = { .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, .of_match_table = mxs_i2c_dt_ids, }, .remove = __devexit_p(mxs_i2c_remove), }; Loading Loading
Documentation/devicetree/bindings/i2c/i2c-mxs.txt 0 → 100644 +16 −0 Original line number Diff line number Diff line * Freescale MXS Inter IC (I2C) Controller Required properties: - compatible: Should be "fsl,<chip>-i2c" - reg: Should contain registers location and length - interrupts: Should contain ERROR and DMA interrupts Examples: i2c0: i2c@80058000 { #address-cells = <1>; #size-cells = <0>; compatible = "fsl,imx28-i2c"; reg = <0x80058000 2000>; interrupts = <111 68>; };
drivers/i2c/busses/i2c-mxs.c +13 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ #include <linux/jiffies.h> #include <linux/io.h> #include <linux/pinctrl/consumer.h> #include <linux/of.h> #include <linux/of_device.h> #include <linux/of_i2c.h> #include <mach/common.h> Loading Loading @@ -371,6 +374,7 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev) adap->algo = &mxs_i2c_algo; adap->dev.parent = dev; adap->nr = pdev->id; adap->dev.of_node = pdev->dev.of_node; i2c_set_adapdata(adap, i2c); err = i2c_add_numbered_adapter(adap); if (err) { Loading @@ -380,6 +384,8 @@ static int __devinit mxs_i2c_probe(struct platform_device *pdev) return err; } of_i2c_register_devices(adap); return 0; } Loading @@ -399,10 +405,17 @@ static int __devexit mxs_i2c_remove(struct platform_device *pdev) return 0; } static const struct of_device_id mxs_i2c_dt_ids[] = { { .compatible = "fsl,imx28-i2c", }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mxs_i2c_dt_ids); static struct platform_driver mxs_i2c_driver = { .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, .of_match_table = mxs_i2c_dt_ids, }, .remove = __devexit_p(mxs_i2c_remove), }; Loading