summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/input/yealink.txt34
-rw-r--r--drivers/usb/input/yealink.c6
2 files changed, 28 insertions, 12 deletions
diff --git a/Documentation/input/yealink.txt b/Documentation/input/yealink.txt
index 5665c32e2a94..85f095a7ad04 100644
--- a/Documentation/input/yealink.txt
+++ b/Documentation/input/yealink.txt
@@ -1,16 +1,18 @@
-yealink - Linux driver for usb-p1k phones
+Driver documentation for yealink usb-p1k phones
0. Status
~~~~~~~~~
The p1k is a relatively cheap usb 1.1 phone with:
- - keyboard full support
- - LCD full support
- - LED full support
- - dialtone full support
- - ringtone full support
- - audio playback via generic usb audio diver
- - audio record via generic usb audio diver
+ - keyboard full support, yealink.ko / input event API
+ - LCD full support, yealink.ko / sysfs API
+ - LED full support, yealink.ko / sysfs API
+ - dialtone full support, yealink.ko / sysfs API
+ - ringtone full support, yealink.ko / sysfs API
+ - audio playback full support, snd_usb_audio.ko / alsa API
+ - audio record full support, snd_usb_audio.ko / alsa API
+
+For vendor documentation see http://www.yealink.com
1. Compilation (stand alone version)
@@ -178,7 +180,21 @@ updated with the first letter of the icon.
echo -n RINGTONE > /sys/..../hide_icon
-5. Credits & Acknowledgments
+5. Sound features
+~~~~~~~~~~~~~~~~~
+Sound is supported by the ALSA driver: snd_usb_audio
+
+One 16-bit channel with sample and playback rates of 8000 Hz is the practical
+limit of the device.
+
+ Example - recording test:
+ arecord -v -d 10 -r 8000 -f S16_LE -t wav foobar.wav
+
+ Example - playback test:
+ aplay foobar.wav
+
+
+6. Credits & Acknowledgments
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Olivier Vandorpe, for starting the usbb2k-api project doing much of
the reverse engineering.
diff --git a/drivers/usb/input/yealink.c b/drivers/usb/input/yealink.c
index e2dd274c6134..58a176ef96a5 100644
--- a/drivers/usb/input/yealink.c
+++ b/drivers/usb/input/yealink.c
@@ -318,7 +318,7 @@ static int yealink_set_ringtone(struct yealink_dev *yld, u8 *buf, size_t size)
if (len > sizeof(p->data))
len = sizeof(p->data);
p->size = len;
- p->offset = htons(ix);
+ p->offset = cpu_to_be16(ix);
memcpy(p->data, &buf[ix], len);
yealink_cmd(yld, p);
ix += len;
@@ -383,7 +383,7 @@ send_update:
val--;
val &= 0x1f;
yld->ctl_data->cmd = CMD_SCANCODE;
- yld->ctl_data->offset = htons(val);
+ yld->ctl_data->offset = cpu_to_be16(val);
yld->ctl_data->data[0] = 0;
yld->ctl_data->sum = -1 - CMD_SCANCODE - val;
break;
@@ -395,7 +395,7 @@ send_update:
/* Combine up to <len> consecutive LCD bytes in a singe request
*/
yld->ctl_data->cmd = CMD_LCD;
- yld->ctl_data->offset = htons(ix);
+ yld->ctl_data->offset = cpu_to_be16(ix);
yld->ctl_data->size = len;
yld->ctl_data->sum = -CMD_LCD - ix - val - len;
for(i=1; i<len; i++) {
OpenPOWER on IntegriCloud