Re: [PATCH] Input - wacom: update the ABI doc according to latest changes

From: Benjamin Tissoires
Date: Tue Aug 05 2014 - 17:35:04 EST


Hi Ping,

On Aug 05 2014 or thereabouts, Ping Cheng wrote:
> Thank you Benjamin for updating the ABI docs. My comments are inline.
>
> With those lines updated, this patch is:
>
> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx>

Thanks!

>
> Cheers,
>
> Ping
>
> On Tue, Aug 5, 2014 at 8:34 AM, Benjamin Tissoires
> <benjamin.tissoires@xxxxxxxxxx> wrote:
> > Now the devices show up under hid no matter the connection. So update the
> > sysfs path to the shortest and common one.
> > The ABI has also been unified regarding the OLEDs, but Bluetooth handle
> > only 1-bit images instead of 4.
> >
> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> > ---
> >
> > Guys,
> >
> > by updating this and working on the g-s-d client side for OLEDs, I think now
> > that we should also keep the oled*_img for Bluetooth and implement this file
> > for USB too. The user space code gets messy quite fast due to the need to
> > support old and new kernels, whereas if we handle the scrambling in the kernel,
> > it should be quite straightforward.
> > Of course, we have to keep the current button<n>_rawimg for backward
> > compatibility.
> >
> > Any thoughts?
> >
> > Cheers,
> > Benjamin
> >
> > Documentation/ABI/testing/sysfs-driver-wacom | 56 ++++++++++------------------
> > 1 file changed, 20 insertions(+), 36 deletions(-)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-driver-wacom b/Documentation/ABI/testing/sysfs-driver-wacom
> > index 7fc7810..c75ed4c 100644
> > --- a/Documentation/ABI/testing/sysfs-driver-wacom
> > +++ b/Documentation/ABI/testing/sysfs-driver-wacom
> > @@ -1,47 +1,26 @@
> > -WWhat: /sys/class/hidraw/hidraw*/device/oled*_img
> > -Date: June 2012
> > -Contact: linux-bluetooth@xxxxxxxxxxxxxxx
> > -Description:
> > - The /sys/class/hidraw/hidraw*/device/oled*_img files control
> > - OLED mocro displays on Intuos4 Wireless tablet. Accepted image
> > - has to contain 256 bytes (64x32 px 1 bit colour). The format
> > - is the same as PBM image 62x32px without header (64 bits per
> > - horizontal line, 32 lines). An example of setting OLED No. 0:
> > - dd bs=256 count=1 if=img_file of=[path to oled0_img]/oled0_img
> > - The attribute is read only and no local copy of the image is
> > - stored.
> > -
> > -What: /sys/class/hidraw/hidraw*/device/speed
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed
> > Date: April 2010
>
> Should the Date be updated?

I don't think that this one should. The ABI is the same since April
2010, and the "new" path works also for older kernels. So basically,
here, for Bluetooth, there has been no changes.

>
> > Kernel Version: 2.6.35
>
> This patch is planned for 3.16, right?

Same comment than before (about not touching it).
This will be planned for 3.17, 3.16 has been out last Sunday.

>
> > Contact: linux-bluetooth@xxxxxxxxxxxxxxx
> > Description:
> > - The /sys/class/hidraw/hidraw*/device/speed file controls
> > - reporting speed of Wacom bluetooth tablet. Reading from
> > - this file returns 1 if tablet reports in high speed mode
> > + The /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/speed file
> > + controls reporting speed of Wacom bluetooth tablet. Reading
> > + from this file returns 1 if tablet reports in high speed mode
> > or 0 otherwise. Writing to this file one of these values
> > switches reporting speed.
> >
> > -What: /sys/class/leds/0005\:056A\:00BD.0001\:selector\:*/
> > -Date: May 2012
> > -Kernel Version: 3.5
> > -Contact: linux-bluetooth@xxxxxxxxxxxxxxx
> > -Description:
> > - LED selector for Intuos4 WL. There are 4 leds, but only one LED
> > - can be lit at a time. Max brightness is 127.
> > -
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/led
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/led
> > Date: August 2011
>
> Same here and other 6 dates below

We can probably update these dates. I let them untouched because the
ABI did not changed but only the path did.

>
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > Attribute group for control of the status LEDs and the OLEDs.
> > This attribute group is only available for Intuos 4 M, L,
> > - and XL (with LEDs and OLEDs), Intuos 5 (LEDs only), and Cintiq
> > - 21UX2 and Cintiq 24HD (LEDs only). Therefore its presence
> > - implicitly signifies the presence of said LEDs and OLEDs on the
> > - tablet device.
> > + and XL (with LEDs and OLEDs), Intuos 4 WL, Intuos 5 (LEDs only),
> > + Intuos Pro (LEDs only) and Cintiq 21UX2 and Cintiq 24HD
> > + (LEDs only). Therefore its presence implicitly signifies the
> > + presence of said LEDs and OLEDs on the tablet device.
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status0_luminance
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status0_luminance
> > Date: August 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > @@ -50,7 +29,7 @@ Description:
> > button is pressed on the stylus. This luminance level is
> > normally lower than the level when a button is pressed.
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status1_luminance
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status1_luminance
> > Date: August 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > @@ -58,7 +37,7 @@ Description:
> > when the stylus touches the tablet surface, or any button is
> > pressed on the stylus.
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led0_select
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led0_select
> > Date: August 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > @@ -67,7 +46,7 @@ Description:
> > 24HD) status LEDs is active (0..3). The other three LEDs on the
> > same side are always inactive.
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led1_select
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/status_led1_select
> > Date: September 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > @@ -75,14 +54,14 @@ Description:
> > and Cintiq 24HD) status LEDs is active (0..3). The other three LEDs on
> > the left are always inactive.
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/buttons_luminance
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/buttons_luminance
> > Date: August 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > Writing to this file sets the overall luminance level (0..15)
>
> We need to specify that this ABI is only for Intuos 4 (USB and Bluetooth).

Yep. We can carry this fix too in this patch.

Cheers,
Benjamin

>
> > of all eight button OLED displays.)
> >
> > -What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/button<n>_rawimg
> > +What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_led/button<n>_rawimg
> > Date: August 2011
> > Contact: linux-input@xxxxxxxxxxxxxxx
> > Description:
> > @@ -93,3 +72,8 @@ Description:
> > byte chunk encodes the image data for two consecutive lines on
> > the display. The low nibble of each byte contains the first
> > line, and the high nibble contains the second line.
> > + When the Wacom Intuos 4 is connected over Bluetooth, the
> > + image has to contain 256 bytes (64x32 px 1 bit colour).
> > + The format is also scrambled, like in the USB mode, and it can
> > + be summarized by converting 76543210 into GECA6420.
> > + HGFEDCBA HFDB7531
> > --
> > 2.0.4
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/