Re: [PATCH 2/7] Bluetooth: hci_uart: Add HCIUARTSETBAUDRATE ioctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/10/2015 09:37 AM, Frederic Danis wrote:
> This allows user space application to set final speed requested for UART
> device. UART port is open at init speed by user space application.
> 
> Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx>
> ---
>  drivers/bluetooth/hci_ldisc.c | 6 ++++++
>  drivers/bluetooth/hci_uart.h  | 2 ++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
> index 5c9a73f..190a7f8 100644
> --- a/drivers/bluetooth/hci_ldisc.c
> +++ b/drivers/bluetooth/hci_ldisc.c
> @@ -609,6 +609,12 @@ static int hci_uart_tty_ioctl(struct tty_struct *tty, struct file *file,
>  	case HCIUARTGETFLAGS:
>  		return hu->hdev_flags;
>  
> +	case HCIUARTSETBAUDRATE:
> +		if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
> +			return -EBUSY;
> +		hu->speed = arg;
> +		break;
> +

So now that the kernel can set line rate, why is an ioctl necessary
to determine what the line rate should be?


>  	default:
>  		err = n_tty_ioctl_helper(tty, file, cmd, arg);
>  		break;
> diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
> index 72120a5..09a47b4 100644
> --- a/drivers/bluetooth/hci_uart.h
> +++ b/drivers/bluetooth/hci_uart.h
> @@ -33,6 +33,7 @@
>  #define HCIUARTGETDEVICE	_IOR('U', 202, int)
>  #define HCIUARTSETFLAGS		_IOW('U', 203, int)
>  #define HCIUARTGETFLAGS		_IOR('U', 204, int)
> +#define HCIUARTSETBAUDRATE	_IOW('U', 205, int)
>  
>  /* UART protocols */
>  #define HCI_UART_MAX_PROTO	8
> @@ -72,6 +73,7 @@ struct hci_uart {
>  	struct hci_dev		*hdev;
>  	unsigned long		flags;
>  	unsigned long		hdev_flags;
> +	unsigned long		speed;
>  
>  	struct work_struct	init_ready;
>  	struct work_struct	write_work;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux