linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Lv Zheng <lv.zheng@intel.com>
Cc: Len Brown <len.brown@intel.com>,
	Rafael J Wysocki <rafael.j.wysocki@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Alan Cox <alan@linux.intel.com>,
	linux-acpi@vger.kernel.org, linux-serial@vger.kernel.org
Subject: Re: [RFC PATCH 1/3] UART: Add UART subsystem as a bus.
Date: Tue, 4 Dec 2012 20:54:04 +0200	[thread overview]
Message-ID: <20121204185404.GQ3117@intel.com> (raw)
In-Reply-To: <6d5fc2e0799c12554aa8acdb2d7782ba8643902b.1354505472.git.lv.zheng@intel.com>

On Mon, Dec 03, 2012 at 11:39:59AM +0800, Lv Zheng wrote:
> kobject attribute files:
> # cat /sys/bus/uart/devices/INTF001:00/modalias
> uart:INTF001:00
> # cat /sys/bus/uart/devices/INTF001:00/tty_dev
> ttyS0
> # cat /sys/bus/uart/devices/INTF001:00/tty_attrs
> 115200 8N0 HW
> # cat /sys/bus/uart/devices/INTF001:00/modem_lines
> LE:RTS,CTS,

What if instead of exporting these to userspace we just set the defaults
based on the UartSerialBus() value? This way the user only needs to find the
right tty to pass to hciattach.

> kobject sysfs links:
> # ls -l /sys/bus/uart/devices
> INTF001:00 -> ../../../devices/platform/INTF000:00/INTF001:00
> # ls -l /sys/devices/platform/INTF000:00/INTF001:00
> subsystem -> ../../../../bus/uart
> host_node -> ../tty/ttyS0
> # ls -l /sys/devices/platform/INTF000:00/tty/ttyS0
> target_node -> ../../INTF001:00

And if we have enumerated the UART controller from ACPI (it is probably
attached to the platform bus) we can find the tty device it exports like:

/sys/bus/platform/devices/INTF000:00/tty/ttyS1/dev

Only thing that is missing then is the type of the connected device. That
can be extracted by following the firmware_node symlink:

# ls /sys/bus/platform/devices/INTF000\:00/firmware_node/
INTF001:00
...

# cat  /sys/bus/platform/devices/INTF000\:00/firmware_node/INTF001:00/hid
INTF001

This ACPI ID then can be used to find out what device it is.

Well, this is probably not the simplest solution :-) I'm just trying to
understand why we need to add a new bus type if only thing it adds is the
sysfs files.

> +/**
> + * uart_unregister_device - unregister a UART device
> + * @device: value returned from uart_register_device()
> + *
> + * Reverse effect of uart_register_device().
> + */
> +void uart_unregister_device(struct uart_device *udev)
> +{
> +	if (udev->adap)
> +		klist_del(&udev->klist_parent);
> +	sysfs_remove_link(&udev->dev.kobj, "host_node");
> +	if (udev->tty)
> +		sysfs_remove_link(&udev->tty->kobj, "target_node");
> +	device_unregister(&udev->dev);
> +}
> +EXPORT_SYMBOL_GPL(uart_unreigster_device);

Typo in the function name.

  parent reply	other threads:[~2012-12-04 18:50 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-03  3:39 [RFC PATCH 0/3] ACPI/UART: Add ACPI 5.0 enueration support for UART Lv Zheng
2012-12-03  3:39 ` [RFC PATCH 1/3] UART: Add UART subsystem as a bus Lv Zheng
2012-12-03 11:46   ` Alan Cox
2012-12-05  3:37     ` Zheng, Lv
2012-12-04 18:54   ` Mika Westerberg [this message]
2012-12-04 19:50     ` Alan Cox
2012-12-05  6:20       ` Mika Westerberg
2012-12-05  7:07         ` Zheng, Lv
2012-12-05  7:42           ` Mika Westerberg
2012-12-05  9:43         ` Alan Cox
2012-12-06  1:26           ` Zheng, Lv
2012-12-06  1:55             ` Zheng, Lv
2012-12-06 13:53             ` Alan Cox
2012-12-07  4:54               ` Zheng, Lv
2012-12-07  5:41                 ` Zheng, Lv
2012-12-07  7:24                   ` Huang Ying
2012-12-07 10:27                   ` Alan Cox
2012-12-07 10:25                 ` Alan Cox
2012-12-06  7:36           ` Zheng, Lv
2012-12-06  7:52             ` Mika Westerberg
2012-12-05  3:49     ` Zheng, Lv
2012-12-03  3:40 ` [RFC PATCH 2/3] ACPI / UART: Add ACPI enumeration support for UART bus Lv Zheng
2012-12-03  3:40 ` [RFC PATCH 3/3] UART: Add dummy devices to test the enumeration Lv Zheng
2012-12-05  3:51 ` [PATCH v2 0/4] ACPI/UART: Add ACPI 5.0 enueration support for UART Lv Zheng
2012-12-05  3:51   ` [PATCH v2 1/4] UART: Add UART subsystem as a bus Lv Zheng
2012-12-05  3:51   ` [PATCH v2 2/4] ACPI / UART: Add ACPI enumeration support for UART bus Lv Zheng
2012-12-05  3:51   ` [PATCH v2 3/4] UART / 8250: Add declearation of serial8250 driver Lv Zheng
2012-12-05  3:52   ` [PATCH v2 4/4] UART: Add dummy devices to test the enumeration Lv Zheng
2012-12-06  9:21 ` [RFC PATCH v3 0/4] ACPI/UART: Add ACPI 5.0 enueration support for UART Lv Zheng
2012-12-06  9:21   ` [RFC PATCH v3 1/4] UART: Add UART subsystem as a bus Lv Zheng
2012-12-06 13:40     ` Alan Cox
2012-12-07  3:52       ` Zheng, Lv
2012-12-07 10:22         ` Alan Cox
2012-12-06  9:22   ` [RFC PATCH v3 2/4] ACPI / UART: Add ACPI enumeration support for UART bus Lv Zheng
2012-12-06  9:22   ` [RFC PATCH v3 3/4] UART / 8250: Add declearation of serial8250 driver Lv Zheng
2012-12-06  9:22   ` [RFC PATCH v3 4/4] UART: Add dummy devices to test the enumeration Lv Zheng
2013-01-09  9:17 ` [RFC PATCH v4 0/3] ACPI/UART: Add ACPI 5.0 enueration support for UART Lv Zheng
2013-01-09  9:17   ` [RFC PATCH v4 1/3] TTY: Add TTY slave enumeration support Lv Zheng
2013-01-09  9:17   ` Lv Zheng
2013-01-09  9:18   ` [RFC PATCH v4 2/3] ACPI / UART: Add ACPI enumeration support for UART Lv Zheng
2013-01-09  9:18   ` Lv Zheng
2013-01-09  9:18   ` [RFC PATCH v4 3/3] UART: Add dummy devices to test the enumeration Lv Zheng
2013-01-09  9:18   ` Lv Zheng
2013-01-09  9:17 ` [RFC PATCH v4 0/3] ACPI/UART: Add ACPI 5.0 enueration support for UART Lv Zheng
2013-01-24 10:30 ` [PATCH v5 0/2] ACPI/UART: Add ACPI 5.0 enumeration " Lv Zheng
2013-01-24 10:30   ` [PATCH v5 1/2] TTY: Add TTY slave enumeration support Lv Zheng
2013-01-25 21:41     ` Greg Kroah-Hartman
2013-01-26  0:32       ` Alan Cox
2013-01-26  0:21         ` Greg Kroah-Hartman
2013-01-26  3:04       ` Zheng, Lv
2013-01-26  3:42         ` Greg Kroah-Hartman
2013-01-28  2:58           ` Zheng, Lv
2013-01-30  4:46             ` Greg Kroah-Hartman
2013-01-25 21:45     ` Greg Kroah-Hartman
2013-01-26  3:12       ` Zheng, Lv
2013-01-26  3:44         ` Greg Kroah-Hartman
2013-01-28  3:02           ` Zheng, Lv
2013-01-24 10:30   ` [PATCH v5 2/2] ACPI / UART: Add ACPI enumeration support for UART Lv Zheng
2013-01-24 10:30 ` [RFC PATCH v5] HACK: UART: Add dummy devices to test the enumeration Lv Zheng
2013-02-06  6:26 ` [RFC PATCH] ACPI / serial: Add UART change_pm support with ACPI power domain Lv Zheng
2013-02-06 19:07   ` Greg Kroah-Hartman
2013-02-06 21:39     ` Rafael J. Wysocki
2013-02-06 21:38       ` Greg Kroah-Hartman
2013-02-07  0:38         ` Zheng, Lv
2013-04-03  2:05 ` [PATCH v6] ACPI / serial: Add peripheral PnP IDs enumeration support Lv Zheng
2013-04-03 16:14   ` Greg Kroah-Hartman
2013-04-04 10:12     ` Zheng, Lv
2013-04-07  3:05       ` Zheng, Lv
2013-04-04 15:43     ` Zheng, Lv
2013-04-04 18:23       ` Greg Kroah-Hartman
2013-04-07  3:11         ` Zheng, Lv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121204185404.GQ3117@intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=alan@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=rafael.j.wysocki@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).