On 08/04/13 12:55, Jonathan Cameron wrote: > On 07/19/13 14:36, Jacek Anaszewski wrote: >> This patch adds DT support for the lps331ap barometer >> sensor. >> >> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> >> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > This makes sense to me and looks similar to that in existing bindings > hence, > > Applied to the togreg branch of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git Actually I've backed this change out as I've just read a few more emails down my backlog and found a long discussion of it when it got pulled into another patch set. Will review that discussion before making any decisions on this one. Sorry for the confusion. Jonathan > > Note I am one of those maintainers who has very limited knowledge of device > tree so am basing this decision on the 'it looks like existing mappings' rather > than any deep understanding. > > Jonathan >> --- >> .../devicetree/bindings/iio/pressure/lps331ap.txt | 41 ++++++++++++++++++++ >> drivers/iio/pressure/st_pressure_i2c.c | 11 +++++- >> drivers/iio/pressure/st_pressure_spi.c | 11 +++++- >> 3 files changed, 61 insertions(+), 2 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/iio/pressure/lps331ap.txt >> >> diff --git a/Documentation/devicetree/bindings/iio/pressure/lps331ap.txt b/Documentation/devicetree/bindings/iio/pressure/lps331ap.txt >> new file mode 100644 >> index 0000000..e05b45e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/iio/pressure/lps331ap.txt >> @@ -0,0 +1,41 @@ >> +* STMicroelectronics LPS331AP barometer sensor >> + >> +Required properties: >> + >> + - compatible : should be "st,lps331ap" >> + - reg : the I2C address of the barometer >> + >> +Optional properties: >> + >> + - drdy-int-pin : redirect DRDY on pin INT1 (1) or pin INT2 (2) (u8) >> + - interrupt-parent : phandle to the interrupt map subnode >> + - interrupts : interrupt mapping for LPS331AP interrupt sources: >> + 2 sources: 0 - data ready, 1 - threshold event >> + - irq-map : irq sub-node defining interrupt map >> + (all properties listed below are required): >> + - #interrupt-cells : should be 1 >> + - #address-cells : should be 0 >> + - #size-cells : should be 0 >> + - interrupt-map : table of entries consisting of three child elements: >> + - unit_interrupt_specifier - 0 : data ready, 1 : threshold event >> + - interrupt parent phandle >> + - parent unit interrupt specifier consisiting of two elements: >> + - index of the interrupt within the controller >> + - flags : should be 0 >> + >> +Example: >> + >> +lps331ap@5d { >> + compatible = "st,lps331ap"; >> + reg = <0x5d>; >> + drdy-int-pin = /bits/ 8 <2>; >> + interrupt-parent = <&irq_map>; >> + interrupts = <0>, <1>; >> + >> + irq_map: irq-map { >> + #interrupt-cells = <1>; >> + #address-cells = <0>; >> + #size-cells = <0>; >> + interrupt-map = <0 &gpf0 5 0>; >> + }; >> +}; >> diff --git a/drivers/iio/pressure/st_pressure_i2c.c b/drivers/iio/pressure/st_pressure_i2c.c >> index 7cebcc7..1683ebe 100644 >> --- a/drivers/iio/pressure/st_pressure_i2c.c >> +++ b/drivers/iio/pressure/st_pressure_i2c.c >> @@ -56,15 +56,24 @@ static int st_press_i2c_remove(struct i2c_client *client) >> } >> >> static const struct i2c_device_id st_press_id_table[] = { >> - { LPS331AP_PRESS_DEV_NAME }, >> + { "st,lps331ap" }, >> {}, >> }; >> MODULE_DEVICE_TABLE(i2c, st_press_id_table); >> >> +#ifdef CONFIG_OF >> +static const struct of_device_id lps331ap_of_match[] = { >> + { .compatible = "st,lps331ap", }, >> + { } >> +}; >> +MODULE_DEVICE_TABLE(of, lps331ap_of_match); >> +#endif >> + >> static struct i2c_driver st_press_driver = { >> .driver = { >> .owner = THIS_MODULE, >> .name = "st-press-i2c", >> + .of_match_table = of_match_ptr(lps331ap_of_match), >> }, >> .probe = st_press_i2c_probe, >> .remove = st_press_i2c_remove, >> diff --git a/drivers/iio/pressure/st_pressure_spi.c b/drivers/iio/pressure/st_pressure_spi.c >> index 17a1490..05c30d6 100644 >> --- a/drivers/iio/pressure/st_pressure_spi.c >> +++ b/drivers/iio/pressure/st_pressure_spi.c >> @@ -55,15 +55,24 @@ static int st_press_spi_remove(struct spi_device *spi) >> } >> >> static const struct spi_device_id st_press_id_table[] = { >> - { LPS331AP_PRESS_DEV_NAME }, >> + { "st,lps331ap" }, >> {}, >> }; >> MODULE_DEVICE_TABLE(spi, st_press_id_table); >> >> +#ifdef CONFIG_OF >> +static const struct of_device_id lps331ap_of_match[] = { >> + { .compatible = "st,lps331ap", }, >> + { } >> +}; >> +MODULE_DEVICE_TABLE(of, lps331ap_of_match); >> +#endif >> + >> static struct spi_driver st_press_driver = { >> .driver = { >> .owner = THIS_MODULE, >> .name = "st-press-spi", >> + .of_match_table = of_match_ptr(lps331ap_of_match), >> }, >> .probe = st_press_spi_probe, >> .remove = st_press_spi_remove, >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html