Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-10 Thread Lars-Peter Clausen

On 02/10/2015 09:05 AM, Daniel Baluta wrote:

On Mon, Feb 9, 2015 at 7:05 PM, Lars-Peter Clausen  wrote:

On 02/09/2015 05:49 PM, Daniel Baluta wrote:


After UAPI header file split [1] all user-kernel interfaces were
placed under include/uapi/.

This patch moves IIO user specific API from:
 * include/linux/iio/events.h => include/uapi/linux/iio/events.h
 * include/linux/iio/types.h => include/uapi/linux/iio/types.h

Now there is no need for nasty tricks to compile userspace programs
(e.g iio_event_monitor). Just installing the kernel headers with
make headers_install command does the job.

[1] http://lwn.net/Articles/507794/



Thanks for taking care of this, this is something that should have done a
while ago.


Hi Lars,

Thanks for the feedback!


[...]


index 580ed5b..146cda1 100644







I think everything in this file below is not part of the ABI and should not
be exported to userspace.


I agree about iio_event_info and IIO_VAL_* constants.




-
-enum iio_event_info {
-   IIO_EV_INFO_ENABLE,
-   IIO_EV_INFO_VALUE,
-   IIO_EV_INFO_HYSTERESIS,
-   IIO_EV_INFO_PERIOD,
-};
-
-enum iio_event_direction {
-   IIO_EV_DIR_EITHER,
-   IIO_EV_DIR_RISING,
-   IIO_EV_DIR_FALLING,
-   IIO_EV_DIR_NONE,
-};


iio_event_direction is exported to userspace via IIO_EVENT_CODE and
I think it belongs to this file.


Right.




-
-#define IIO_VAL_INT 1
-#define IIO_VAL_INT_PLUS_MICRO 2
-#define IIO_VAL_INT_PLUS_NANO 3
-#define IIO_VAL_INT_PLUS_MICRO_DB 4
-#define IIO_VAL_INT_MULTIPLE 5
-#define IIO_VAL_FRACTIONAL 10
-#define IIO_VAL_FRACTIONAL_LOG2 11
-


I will send v2 in few hours, hopefully I'll get more feedback meanwhile.

Do you thing should I remove the RFC tag?


Patch looks good to me.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-10 Thread Daniel Baluta
On Mon, Feb 9, 2015 at 7:05 PM, Lars-Peter Clausen  wrote:
> On 02/09/2015 05:49 PM, Daniel Baluta wrote:
>>
>> After UAPI header file split [1] all user-kernel interfaces were
>> placed under include/uapi/.
>>
>> This patch moves IIO user specific API from:
>> * include/linux/iio/events.h => include/uapi/linux/iio/events.h
>> * include/linux/iio/types.h => include/uapi/linux/iio/types.h
>>
>> Now there is no need for nasty tricks to compile userspace programs
>> (e.g iio_event_monitor). Just installing the kernel headers with
>> make headers_install command does the job.
>>
>> [1] http://lwn.net/Articles/507794/
>
>
> Thanks for taking care of this, this is something that should have done a
> while ago.

Hi Lars,

Thanks for the feedback!
>
> [...]
>
>> index 580ed5b..146cda1 100644



>
>
> I think everything in this file below is not part of the ABI and should not
> be exported to userspace.

I agree about iio_event_info and IIO_VAL_* constants.

>
>> -
>> -enum iio_event_info {
>> -   IIO_EV_INFO_ENABLE,
>> -   IIO_EV_INFO_VALUE,
>> -   IIO_EV_INFO_HYSTERESIS,
>> -   IIO_EV_INFO_PERIOD,
>> -};
>> -
>> -enum iio_event_direction {
>> -   IIO_EV_DIR_EITHER,
>> -   IIO_EV_DIR_RISING,
>> -   IIO_EV_DIR_FALLING,
>> -   IIO_EV_DIR_NONE,
>> -};

iio_event_direction is exported to userspace via IIO_EVENT_CODE and
I think it belongs to this file.

>> -
>> -#define IIO_VAL_INT 1
>> -#define IIO_VAL_INT_PLUS_MICRO 2
>> -#define IIO_VAL_INT_PLUS_NANO 3
>> -#define IIO_VAL_INT_PLUS_MICRO_DB 4
>> -#define IIO_VAL_INT_MULTIPLE 5
>> -#define IIO_VAL_FRACTIONAL 10
>> -#define IIO_VAL_FRACTIONAL_LOG2 11
>> -

I will send v2 in few hours, hopefully I'll get more feedback meanwhile.

Do you thing should I remove the RFC tag?

thanks,
Daniel.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-10 Thread Daniel Baluta
On Mon, Feb 9, 2015 at 7:05 PM, Lars-Peter Clausen l...@metafoo.de wrote:
 On 02/09/2015 05:49 PM, Daniel Baluta wrote:

 After UAPI header file split [1] all user-kernel interfaces were
 placed under include/uapi/.

 This patch moves IIO user specific API from:
 * include/linux/iio/events.h = include/uapi/linux/iio/events.h
 * include/linux/iio/types.h = include/uapi/linux/iio/types.h

 Now there is no need for nasty tricks to compile userspace programs
 (e.g iio_event_monitor). Just installing the kernel headers with
 make headers_install command does the job.

 [1] http://lwn.net/Articles/507794/


 Thanks for taking care of this, this is something that should have done a
 while ago.

Hi Lars,

Thanks for the feedback!

 [...]

 index 580ed5b..146cda1 100644

snip



 I think everything in this file below is not part of the ABI and should not
 be exported to userspace.

I agree about iio_event_info and IIO_VAL_* constants.


 -
 -enum iio_event_info {
 -   IIO_EV_INFO_ENABLE,
 -   IIO_EV_INFO_VALUE,
 -   IIO_EV_INFO_HYSTERESIS,
 -   IIO_EV_INFO_PERIOD,
 -};
 -
 -enum iio_event_direction {
 -   IIO_EV_DIR_EITHER,
 -   IIO_EV_DIR_RISING,
 -   IIO_EV_DIR_FALLING,
 -   IIO_EV_DIR_NONE,
 -};

iio_event_direction is exported to userspace via IIO_EVENT_CODE and
I think it belongs to this file.

 -
 -#define IIO_VAL_INT 1
 -#define IIO_VAL_INT_PLUS_MICRO 2
 -#define IIO_VAL_INT_PLUS_NANO 3
 -#define IIO_VAL_INT_PLUS_MICRO_DB 4
 -#define IIO_VAL_INT_MULTIPLE 5
 -#define IIO_VAL_FRACTIONAL 10
 -#define IIO_VAL_FRACTIONAL_LOG2 11
 -

I will send v2 in few hours, hopefully I'll get more feedback meanwhile.

Do you thing should I remove the RFC tag?

thanks,
Daniel.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-10 Thread Lars-Peter Clausen

On 02/10/2015 09:05 AM, Daniel Baluta wrote:

On Mon, Feb 9, 2015 at 7:05 PM, Lars-Peter Clausen l...@metafoo.de wrote:

On 02/09/2015 05:49 PM, Daniel Baluta wrote:


After UAPI header file split [1] all user-kernel interfaces were
placed under include/uapi/.

This patch moves IIO user specific API from:
 * include/linux/iio/events.h = include/uapi/linux/iio/events.h
 * include/linux/iio/types.h = include/uapi/linux/iio/types.h

Now there is no need for nasty tricks to compile userspace programs
(e.g iio_event_monitor). Just installing the kernel headers with
make headers_install command does the job.

[1] http://lwn.net/Articles/507794/



Thanks for taking care of this, this is something that should have done a
while ago.


Hi Lars,

Thanks for the feedback!


[...]


index 580ed5b..146cda1 100644


snip




I think everything in this file below is not part of the ABI and should not
be exported to userspace.


I agree about iio_event_info and IIO_VAL_* constants.




-
-enum iio_event_info {
-   IIO_EV_INFO_ENABLE,
-   IIO_EV_INFO_VALUE,
-   IIO_EV_INFO_HYSTERESIS,
-   IIO_EV_INFO_PERIOD,
-};
-
-enum iio_event_direction {
-   IIO_EV_DIR_EITHER,
-   IIO_EV_DIR_RISING,
-   IIO_EV_DIR_FALLING,
-   IIO_EV_DIR_NONE,
-};


iio_event_direction is exported to userspace via IIO_EVENT_CODE and
I think it belongs to this file.


Right.




-
-#define IIO_VAL_INT 1
-#define IIO_VAL_INT_PLUS_MICRO 2
-#define IIO_VAL_INT_PLUS_NANO 3
-#define IIO_VAL_INT_PLUS_MICRO_DB 4
-#define IIO_VAL_INT_MULTIPLE 5
-#define IIO_VAL_FRACTIONAL 10
-#define IIO_VAL_FRACTIONAL_LOG2 11
-


I will send v2 in few hours, hopefully I'll get more feedback meanwhile.

Do you thing should I remove the RFC tag?


Patch looks good to me.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-09 Thread Lars-Peter Clausen

On 02/09/2015 05:49 PM, Daniel Baluta wrote:

After UAPI header file split [1] all user-kernel interfaces were
placed under include/uapi/.

This patch moves IIO user specific API from:
* include/linux/iio/events.h => include/uapi/linux/iio/events.h
* include/linux/iio/types.h => include/uapi/linux/iio/types.h

Now there is no need for nasty tricks to compile userspace programs
(e.g iio_event_monitor). Just installing the kernel headers with
make headers_install command does the job.

[1] http://lwn.net/Articles/507794/


Thanks for taking care of this, this is something that should have done a 
while ago.


[...]

index 580ed5b..146cda1 100644
--- a/include/linux/iio/types.h
+++ b/include/linux/iio/types.h
@@ -10,97 +10,5 @@
  #ifndef _IIO_TYPES_H_
  #define _IIO_TYPES_H_

-enum iio_chan_type {
-   IIO_VOLTAGE,
-   IIO_CURRENT,
-   IIO_POWER,
-   IIO_ACCEL,
-   IIO_ANGL_VEL,
-   IIO_MAGN,
-   IIO_LIGHT,
-   IIO_INTENSITY,
-   IIO_PROXIMITY,
-   IIO_TEMP,
-   IIO_INCLI,
-   IIO_ROT,
-   IIO_ANGL,
-   IIO_TIMESTAMP,
-   IIO_CAPACITANCE,
-   IIO_ALTVOLTAGE,
-   IIO_CCT,
-   IIO_PRESSURE,
-   IIO_HUMIDITYRELATIVE,
-   IIO_ACTIVITY,
-   IIO_STEPS,
-   IIO_ENERGY,
-   IIO_DISTANCE,
-   IIO_VELOCITY,
-};
-
-enum iio_modifier {
-   IIO_NO_MOD,
-   IIO_MOD_X,
-   IIO_MOD_Y,
-   IIO_MOD_Z,
-   IIO_MOD_X_AND_Y,
-   IIO_MOD_X_AND_Z,
-   IIO_MOD_Y_AND_Z,
-   IIO_MOD_X_AND_Y_AND_Z,
-   IIO_MOD_X_OR_Y,
-   IIO_MOD_X_OR_Z,
-   IIO_MOD_Y_OR_Z,
-   IIO_MOD_X_OR_Y_OR_Z,
-   IIO_MOD_LIGHT_BOTH,
-   IIO_MOD_LIGHT_IR,
-   IIO_MOD_ROOT_SUM_SQUARED_X_Y,
-   IIO_MOD_SUM_SQUARED_X_Y_Z,
-   IIO_MOD_LIGHT_CLEAR,
-   IIO_MOD_LIGHT_RED,
-   IIO_MOD_LIGHT_GREEN,
-   IIO_MOD_LIGHT_BLUE,
-   IIO_MOD_QUATERNION,
-   IIO_MOD_TEMP_AMBIENT,
-   IIO_MOD_TEMP_OBJECT,
-   IIO_MOD_NORTH_MAGN,
-   IIO_MOD_NORTH_TRUE,
-   IIO_MOD_NORTH_MAGN_TILT_COMP,
-   IIO_MOD_NORTH_TRUE_TILT_COMP,
-   IIO_MOD_RUNNING,
-   IIO_MOD_JOGGING,
-   IIO_MOD_WALKING,
-   IIO_MOD_STILL,
-   IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
-};
-
-enum iio_event_type {
-   IIO_EV_TYPE_THRESH,
-   IIO_EV_TYPE_MAG,
-   IIO_EV_TYPE_ROC,
-   IIO_EV_TYPE_THRESH_ADAPTIVE,
-   IIO_EV_TYPE_MAG_ADAPTIVE,
-   IIO_EV_TYPE_CHANGE,
-};


I think everything in this file below is not part of the ABI and should not 
be exported to userspace.



-
-enum iio_event_info {
-   IIO_EV_INFO_ENABLE,
-   IIO_EV_INFO_VALUE,
-   IIO_EV_INFO_HYSTERESIS,
-   IIO_EV_INFO_PERIOD,
-};
-
-enum iio_event_direction {
-   IIO_EV_DIR_EITHER,
-   IIO_EV_DIR_RISING,
-   IIO_EV_DIR_FALLING,
-   IIO_EV_DIR_NONE,
-};
-
-#define IIO_VAL_INT 1
-#define IIO_VAL_INT_PLUS_MICRO 2
-#define IIO_VAL_INT_PLUS_NANO 3
-#define IIO_VAL_INT_PLUS_MICRO_DB 4
-#define IIO_VAL_INT_MULTIPLE 5
-#define IIO_VAL_FRACTIONAL 10
-#define IIO_VAL_FRACTIONAL_LOG2 11
-

[...]

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH] iio: Export userspace IIO headers

2015-02-09 Thread Lars-Peter Clausen

On 02/09/2015 05:49 PM, Daniel Baluta wrote:

After UAPI header file split [1] all user-kernel interfaces were
placed under include/uapi/.

This patch moves IIO user specific API from:
* include/linux/iio/events.h = include/uapi/linux/iio/events.h
* include/linux/iio/types.h = include/uapi/linux/iio/types.h

Now there is no need for nasty tricks to compile userspace programs
(e.g iio_event_monitor). Just installing the kernel headers with
make headers_install command does the job.

[1] http://lwn.net/Articles/507794/


Thanks for taking care of this, this is something that should have done a 
while ago.


[...]

index 580ed5b..146cda1 100644
--- a/include/linux/iio/types.h
+++ b/include/linux/iio/types.h
@@ -10,97 +10,5 @@
  #ifndef _IIO_TYPES_H_
  #define _IIO_TYPES_H_

-enum iio_chan_type {
-   IIO_VOLTAGE,
-   IIO_CURRENT,
-   IIO_POWER,
-   IIO_ACCEL,
-   IIO_ANGL_VEL,
-   IIO_MAGN,
-   IIO_LIGHT,
-   IIO_INTENSITY,
-   IIO_PROXIMITY,
-   IIO_TEMP,
-   IIO_INCLI,
-   IIO_ROT,
-   IIO_ANGL,
-   IIO_TIMESTAMP,
-   IIO_CAPACITANCE,
-   IIO_ALTVOLTAGE,
-   IIO_CCT,
-   IIO_PRESSURE,
-   IIO_HUMIDITYRELATIVE,
-   IIO_ACTIVITY,
-   IIO_STEPS,
-   IIO_ENERGY,
-   IIO_DISTANCE,
-   IIO_VELOCITY,
-};
-
-enum iio_modifier {
-   IIO_NO_MOD,
-   IIO_MOD_X,
-   IIO_MOD_Y,
-   IIO_MOD_Z,
-   IIO_MOD_X_AND_Y,
-   IIO_MOD_X_AND_Z,
-   IIO_MOD_Y_AND_Z,
-   IIO_MOD_X_AND_Y_AND_Z,
-   IIO_MOD_X_OR_Y,
-   IIO_MOD_X_OR_Z,
-   IIO_MOD_Y_OR_Z,
-   IIO_MOD_X_OR_Y_OR_Z,
-   IIO_MOD_LIGHT_BOTH,
-   IIO_MOD_LIGHT_IR,
-   IIO_MOD_ROOT_SUM_SQUARED_X_Y,
-   IIO_MOD_SUM_SQUARED_X_Y_Z,
-   IIO_MOD_LIGHT_CLEAR,
-   IIO_MOD_LIGHT_RED,
-   IIO_MOD_LIGHT_GREEN,
-   IIO_MOD_LIGHT_BLUE,
-   IIO_MOD_QUATERNION,
-   IIO_MOD_TEMP_AMBIENT,
-   IIO_MOD_TEMP_OBJECT,
-   IIO_MOD_NORTH_MAGN,
-   IIO_MOD_NORTH_TRUE,
-   IIO_MOD_NORTH_MAGN_TILT_COMP,
-   IIO_MOD_NORTH_TRUE_TILT_COMP,
-   IIO_MOD_RUNNING,
-   IIO_MOD_JOGGING,
-   IIO_MOD_WALKING,
-   IIO_MOD_STILL,
-   IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
-};
-
-enum iio_event_type {
-   IIO_EV_TYPE_THRESH,
-   IIO_EV_TYPE_MAG,
-   IIO_EV_TYPE_ROC,
-   IIO_EV_TYPE_THRESH_ADAPTIVE,
-   IIO_EV_TYPE_MAG_ADAPTIVE,
-   IIO_EV_TYPE_CHANGE,
-};


I think everything in this file below is not part of the ABI and should not 
be exported to userspace.



-
-enum iio_event_info {
-   IIO_EV_INFO_ENABLE,
-   IIO_EV_INFO_VALUE,
-   IIO_EV_INFO_HYSTERESIS,
-   IIO_EV_INFO_PERIOD,
-};
-
-enum iio_event_direction {
-   IIO_EV_DIR_EITHER,
-   IIO_EV_DIR_RISING,
-   IIO_EV_DIR_FALLING,
-   IIO_EV_DIR_NONE,
-};
-
-#define IIO_VAL_INT 1
-#define IIO_VAL_INT_PLUS_MICRO 2
-#define IIO_VAL_INT_PLUS_NANO 3
-#define IIO_VAL_INT_PLUS_MICRO_DB 4
-#define IIO_VAL_INT_MULTIPLE 5
-#define IIO_VAL_FRACTIONAL 10
-#define IIO_VAL_FRACTIONAL_LOG2 11
-

[...]

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/