Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent d5ae36dd
Loading
Loading
Loading
Loading
+25 −9
Original line number Diff line number Diff line
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.
+3 −3
Original line number Diff line number Diff line
@@ -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++) {