Page MenuHomeFreeBSD

D36326.1775725754.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D36326.1775725754.diff

Index: sys/dev/uart/uart_bus_acpi.c
===================================================================
--- sys/dev/uart/uart_bus_acpi.c
+++ sys/dev/uart/uart_bus_acpi.c
@@ -83,19 +83,29 @@
static int
uart_acpi_probe(device_t dev)
{
- struct uart_softc *sc;
struct acpi_uart_compat_data *cd;
-
+ struct uart_softc *sc;
+ uint32_t rclk = 0;
+ ssize_t size;
+
sc = device_get_softc(dev);
- if ((cd = uart_acpi_find_device(dev)) != NULL) {
- sc->sc_class = cd->cd_class;
- if (cd->cd_desc != NULL)
- device_set_desc(dev, cd->cd_desc);
- return (uart_bus_probe(dev, cd->cd_regshft, cd->cd_regiowidth,
- cd->cd_rclk, 0, 0, cd->cd_quirks));
- }
- return (ENXIO);
+ cd = uart_acpi_find_device(dev);
+ if (cd == NULL)
+ return(ENXIO);
+
+ sc->sc_class = cd->cd_class;
+ if (cd->cd_desc != NULL)
+ device_set_desc(dev, cd->cd_desc);
+
+ size = device_get_property(dev, "clock-frequency", &rclk,
+ sizeof(rclk), DEVICE_PROP_UINT32);
+
+ if (size < 0 || rclk == 0)
+ rclk = cd->cd_rclk;
+
+ return (uart_bus_probe(dev, cd->cd_regshft, cd->cd_regiowidth,
+ rclk, 0, 0, cd->cd_quirks));
}
DRIVER_MODULE(uart, acpi, uart_acpi_driver, 0, 0);

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 9, 9:09 AM (3 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28308060
Default Alt Text
D36326.1775725754.diff (1 KB)

Event Timeline