Commit b71e318c authored by Henk's avatar Henk Committed by Greg Kroah-Hartman

[PATCH] USB: yealink: fix htons usage, documentation updates

Signed-off-by: default avatarHenk Vergonet <henk.vergonet@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d5ae36dd
yealink - Linux driver for usb-p1k phones Driver documentation for yealink usb-p1k phones
0. Status 0. Status
~~~~~~~~~ ~~~~~~~~~
The p1k is a relatively cheap usb 1.1 phone with: The p1k is a relatively cheap usb 1.1 phone with:
- keyboard full support - keyboard full support, yealink.ko / input event API
- LCD full support - LCD full support, yealink.ko / sysfs API
- LED full support - LED full support, yealink.ko / sysfs API
- dialtone full support - dialtone full support, yealink.ko / sysfs API
- ringtone full support - ringtone full support, yealink.ko / sysfs API
- audio playback via generic usb audio diver - audio playback full support, snd_usb_audio.ko / alsa API
- audio record via generic usb audio diver - audio record full support, snd_usb_audio.ko / alsa API
For vendor documentation see http://www.yealink.com
1. Compilation (stand alone version) 1. Compilation (stand alone version)
...@@ -178,7 +180,21 @@ updated with the first letter of the icon. ...@@ -178,7 +180,21 @@ updated with the first letter of the icon.
echo -n RINGTONE > /sys/..../hide_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 - Olivier Vandorpe, for starting the usbb2k-api project doing much of
the reverse engineering. the reverse engineering.
......
...@@ -318,7 +318,7 @@ static int yealink_set_ringtone(struct yealink_dev *yld, u8 *buf, size_t size) ...@@ -318,7 +318,7 @@ static int yealink_set_ringtone(struct yealink_dev *yld, u8 *buf, size_t size)
if (len > sizeof(p->data)) if (len > sizeof(p->data))
len = sizeof(p->data); len = sizeof(p->data);
p->size = len; p->size = len;
p->offset = htons(ix); p->offset = cpu_to_be16(ix);
memcpy(p->data, &buf[ix], len); memcpy(p->data, &buf[ix], len);
yealink_cmd(yld, p); yealink_cmd(yld, p);
ix += len; ix += len;
...@@ -383,7 +383,7 @@ static int yealink_do_idle_tasks(struct yealink_dev *yld) ...@@ -383,7 +383,7 @@ static int yealink_do_idle_tasks(struct yealink_dev *yld)
val--; val--;
val &= 0x1f; val &= 0x1f;
yld->ctl_data->cmd = CMD_SCANCODE; 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->data[0] = 0;
yld->ctl_data->sum = -1 - CMD_SCANCODE - val; yld->ctl_data->sum = -1 - CMD_SCANCODE - val;
break; break;
...@@ -395,7 +395,7 @@ static int yealink_do_idle_tasks(struct yealink_dev *yld) ...@@ -395,7 +395,7 @@ static int yealink_do_idle_tasks(struct yealink_dev *yld)
/* Combine up to <len> consecutive LCD bytes in a singe request /* Combine up to <len> consecutive LCD bytes in a singe request
*/ */
yld->ctl_data->cmd = CMD_LCD; 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->size = len;
yld->ctl_data->sum = -CMD_LCD - ix - val - len; yld->ctl_data->sum = -CMD_LCD - ix - val - len;
for(i=1; i<len; i++) { for(i=1; i<len; i++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment