从tty_struct结构获取设备树节点属性

时间:2017-10-17 10:07:08

标签: linux-kernel linux-device-driver device-tree

是否可以从tty_struct结构中获取tty设备的设备树节点属性?

目标是从设备树中检索串行端口的一些自定义属性,并在我将要链接到串行端口的线路规则中使用它们。

这是我正在使用的uart的设备树节点。

uart2: serial@021e8000 {
    compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
    reg = <0x021e8000 0x4000>;
    interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&clks IMX6QDL_CLK_UART_IPG>,
         <&clks IMX6QDL_CLK_UART_SERIAL>;
    clock-names = "ipg", "per";
    dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
    dma-names = "rx", "tx";
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart2>;
    status = "okay";

    master = <0>;
    baudrate = 9600;
};

这是我正在研究的线路学科中的c代码的一部分。

static struct tty_ldisc_ops my_ldisc = {
    .owner      = THIS_MODULE,
    .magic      = TTY_LDISC_MAGIC,
    .name       = "custom_ldisc",
    .open       = my_ldisc_open,
    ...
};

static int my_ldisc_open(struct tty_struct *tty)
{
    // here I would like to access "master" and
    // "baudrate" properties
}

在my_ldisc作为规则的ttymxc1(uart2上的tty设备)上使用ldattach, 调用my_ldisc_open(),但参数* tty似乎没有引用 到uart2设备树节点。

0 个答案:

没有答案