是否可以从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设备树节点。