Re: [PATCH v2] iio: lps331ap: Add support for DT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux