On Wed, Jul 14, 2021 at 5:36 AM 陈华才 <chenhuacai@xxxxxxxxxxx> wrote: ... > > > #include <linux kernel.h=""> > > > #include <linux serial_core.h=""> > > > #include <linux bitops.h=""> > > > +#include <linux property.h=""> > > > > Can you try to keep it ordered (to some extend), please? > Existing headers is not in order, That's why I added in the parentheses "to some extent". > should I sort them completely? Just put property.h before serial_core.h. ... > > > uart.port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF; > > > if (pnp_irq_flags(dev, 0) & IORESOURCE_IRQ_SHAREABLE) > > > uart.port.flags |= UPF_SHARE_IRQ; > > > - uart.port.uartclk = 1843200; > > > + if (device_property_read_u32(&dev->dev, "clock-frequency", &uart.port.uartclk)) > > > + uart.port.uartclk = 1843200; > > > uart.port.dev = &dev->dev; > > > > You can avoid conditional completely by calling > > > > device_property_read_u32(&dev->dev, "clock-frequency", &uart.port.uartclk); > I want to get the property by this function, and set to default value (1843200) if fails. If remove the condition, how to set the default? Thanks. As I explained above. x = $default_value; device_property_read_u32(..., &x); -- With Best Regards, Andy Shevchenko