Signed-off-by: Marek Belisko <[email protected]>
---
drivers/staging/iio/magnetometer/hmc5843.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c
index d4f4dd9..f595fdc 100644
--- a/drivers/staging/iio/magnetometer/hmc5843.c
+++ b/drivers/staging/iio/magnetometer/hmc5843.c
@@ -630,7 +630,9 @@ static const struct i2c_device_id hmc5843_id[] = {
MODULE_DEVICE_TABLE(i2c, hmc5843_id);
static const struct of_device_id hmc5843_of_match[] = {
- { .compatible = "honeywell,hmc5843" },
+ { .compatible = "honeywell,hmc5843", .data = (void *)HMC5843_ID },
+ { .compatible = "honeywell,hmc5883", .data = (void *)HMC5883_ID },
+ { .compatible = "honeywell,hmc5883l", .data = (void *)HMC5883L_ID },
{}
};
MODULE_DEVICE_TABLE(of, hmc5843_of_match);
--
1.8.3.2
Signed-off-by: Marek Belisko <[email protected]>
---
Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt b/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt
index 90d5f34..b8cbdd5 100644
--- a/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt
+++ b/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt
@@ -3,6 +3,9 @@
Required properties:
- compatible : should be "honeywell,hmc5843"
+ Other models which are supported with driver are:
+ "honeywell,hmc5883"
+ "honeywell,hmc5883l"
- reg : the I2C address of the magnetometer - typically 0x1e
Optional properties:
--
1.8.3.2
On 14/02/14 14:25, Marek Belisko wrote:
> Signed-off-by: Marek Belisko <[email protected]>
I wonder how this got missed. However, for those data elements to be useful, you will
need to read them somewhere in the driver I think.... (if there is any magic
that puts this in the relevant i2c locations then point it out to me!)
> ---
> drivers/staging/iio/magnetometer/hmc5843.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c
> index d4f4dd9..f595fdc 100644
> --- a/drivers/staging/iio/magnetometer/hmc5843.c
> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
> @@ -630,7 +630,9 @@ static const struct i2c_device_id hmc5843_id[] = {
> MODULE_DEVICE_TABLE(i2c, hmc5843_id);
>
> static const struct of_device_id hmc5843_of_match[] = {
> - { .compatible = "honeywell,hmc5843" },
> + { .compatible = "honeywell,hmc5843", .data = (void *)HMC5843_ID },
> + { .compatible = "honeywell,hmc5883", .data = (void *)HMC5883_ID },
> + { .compatible = "honeywell,hmc5883l", .data = (void *)HMC5883L_ID },
> {}
> };
> MODULE_DEVICE_TABLE(of, hmc5843_of_match);
>
Hi Jonathan,
On Tue, Feb 18, 2014 at 11:40 AM, Jonathan Cameron <[email protected]> wrote:
> On 14/02/14 14:25, Marek Belisko wrote:
>>
>> Signed-off-by: Marek Belisko <[email protected]>
>
> I wonder how this got missed. However, for those data elements to be
> useful, you will
> need to read them somewhere in the driver I think.... (if there is any magic
> that puts this in the relevant i2c locations then point it out to me!)
There is a table called hmc5843_chip_info_tbl which contains entries
for all models
which this driver can handle. And magic is that correct model variant
is set probe function:
line: idata->variant = &hmc5843_chip_info_tbl[id->driver_data];
(id->driver_data contains model value).
>
>> ---
>> drivers/staging/iio/magnetometer/hmc5843.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c
>> b/drivers/staging/iio/magnetometer/hmc5843.c
>> index d4f4dd9..f595fdc 100644
>> --- a/drivers/staging/iio/magnetometer/hmc5843.c
>> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
>> @@ -630,7 +630,9 @@ static const struct i2c_device_id hmc5843_id[] = {
>> MODULE_DEVICE_TABLE(i2c, hmc5843_id);
>>
>> static const struct of_device_id hmc5843_of_match[] = {
>> - { .compatible = "honeywell,hmc5843" },
>> + { .compatible = "honeywell,hmc5843", .data = (void *)HMC5843_ID },
>> + { .compatible = "honeywell,hmc5883", .data = (void *)HMC5883_ID },
>> + { .compatible = "honeywell,hmc5883l", .data = (void *)HMC5883L_ID
>> },
>> {}
>> };
>> MODULE_DEVICE_TABLE(of, hmc5843_of_match);
>>
>
BR,
marek
--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer
Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com
PIng? Jonathan do you have any objections to this approach? Can you
please pick it? Thx.
On Tue, Feb 18, 2014 at 9:35 PM, Belisko Marek <[email protected]> wrote:
> Hi Jonathan,
>
> On Tue, Feb 18, 2014 at 11:40 AM, Jonathan Cameron <[email protected]> wrote:
>> On 14/02/14 14:25, Marek Belisko wrote:
>>>
>>> Signed-off-by: Marek Belisko <[email protected]>
>>
>> I wonder how this got missed. However, for those data elements to be
>> useful, you will
>> need to read them somewhere in the driver I think.... (if there is any magic
>> that puts this in the relevant i2c locations then point it out to me!)
> There is a table called hmc5843_chip_info_tbl which contains entries
> for all models
> which this driver can handle. And magic is that correct model variant
> is set probe function:
> line: idata->variant = &hmc5843_chip_info_tbl[id->driver_data];
> (id->driver_data contains model value).
>>
>>> ---
>>> drivers/staging/iio/magnetometer/hmc5843.c | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c
>>> b/drivers/staging/iio/magnetometer/hmc5843.c
>>> index d4f4dd9..f595fdc 100644
>>> --- a/drivers/staging/iio/magnetometer/hmc5843.c
>>> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
>>> @@ -630,7 +630,9 @@ static const struct i2c_device_id hmc5843_id[] = {
>>> MODULE_DEVICE_TABLE(i2c, hmc5843_id);
>>>
>>> static const struct of_device_id hmc5843_of_match[] = {
>>> - { .compatible = "honeywell,hmc5843" },
>>> + { .compatible = "honeywell,hmc5843", .data = (void *)HMC5843_ID },
>>> + { .compatible = "honeywell,hmc5883", .data = (void *)HMC5883_ID },
>>> + { .compatible = "honeywell,hmc5883l", .data = (void *)HMC5883L_ID
>>> },
>>> {}
>>> };
>>> MODULE_DEVICE_TABLE(of, hmc5843_of_match);
>>>
>>
>
> BR,
>
> marek
>
> --
> as simple and primitive as possible
> -------------------------------------------------
> Marek Belisko - OPEN-NANDRA
> Freelance Developer
>
> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
> Tel: +421 915 052 184
> skype: marekwhite
> twitter: #opennandra
> web: http://open-nandra.com
BR,
marek
--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer
Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com
On 27/06/14 21:48, Belisko Marek wrote:
> PIng? Jonathan do you have any objections to this approach? Can you
> please pick it? Thx.
Sorry, this one dropped through the cracks.
Applied to the togreg branch of iio.git along with the documentation patch that
goes with it.
Jonathan
>
> On Tue, Feb 18, 2014 at 9:35 PM, Belisko Marek <[email protected]> wrote:
>> Hi Jonathan,
>>
>> On Tue, Feb 18, 2014 at 11:40 AM, Jonathan Cameron <[email protected]> wrote:
>>> On 14/02/14 14:25, Marek Belisko wrote:
>>>>
>>>> Signed-off-by: Marek Belisko <[email protected]>
>>>
>>> I wonder how this got missed. However, for those data elements to be
>>> useful, you will
>>> need to read them somewhere in the driver I think.... (if there is any magic
>>> that puts this in the relevant i2c locations then point it out to me!)
>> There is a table called hmc5843_chip_info_tbl which contains entries
>> for all models
>> which this driver can handle. And magic is that correct model variant
>> is set probe function:
>> line: idata->variant = &hmc5843_chip_info_tbl[id->driver_data];
>> (id->driver_data contains model value).
>>>
>>>> ---
>>>> drivers/staging/iio/magnetometer/hmc5843.c | 4 +++-
>>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c
>>>> b/drivers/staging/iio/magnetometer/hmc5843.c
>>>> index d4f4dd9..f595fdc 100644
>>>> --- a/drivers/staging/iio/magnetometer/hmc5843.c
>>>> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
>>>> @@ -630,7 +630,9 @@ static const struct i2c_device_id hmc5843_id[] = {
>>>> MODULE_DEVICE_TABLE(i2c, hmc5843_id);
>>>>
>>>> static const struct of_device_id hmc5843_of_match[] = {
>>>> - { .compatible = "honeywell,hmc5843" },
>>>> + { .compatible = "honeywell,hmc5843", .data = (void *)HMC5843_ID },
>>>> + { .compatible = "honeywell,hmc5883", .data = (void *)HMC5883_ID },
>>>> + { .compatible = "honeywell,hmc5883l", .data = (void *)HMC5883L_ID
>>>> },
>>>> {}
>>>> };
>>>> MODULE_DEVICE_TABLE(of, hmc5843_of_match);
>>>>
>>>
>>
>> BR,
>>
>> marek
>>
>> --
>> as simple and primitive as possible
>> -------------------------------------------------
>> Marek Belisko - OPEN-NANDRA
>> Freelance Developer
>>
>> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
>> Tel: +421 915 052 184
>> skype: marekwhite
>> twitter: #opennandra
>> web: http://open-nandra.com
>
> BR,
>
> marek
>