diff options
| author | Xin LI <delphij@FreeBSD.org> | 2013-02-10 07:36:23 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2013-02-10 07:36:23 +0000 |
| commit | 95e20d9b642d92d843b0448fed8298b160041370 (patch) | |
| tree | 9531e7d222d9846799703835e9bceb2c58e72e8b /sys/dev/wbwd | |
| parent | 1a42cc6bfc75ab496983117d4159cadbd2f8d217 (diff) | |
Notes
Diffstat (limited to 'sys/dev/wbwd')
| -rw-r--r-- | sys/dev/wbwd/wbwd.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/wbwd/wbwd.c b/sys/dev/wbwd/wbwd.c index 0ba1484f4bfa..6e586ad9d558 100644 --- a/sys/dev/wbwd/wbwd.c +++ b/sys/dev/wbwd/wbwd.c @@ -179,6 +179,12 @@ struct winbond_vendor_device_id { .device_rev = 0x73, .descr = "Winbond 83627DHG-P", }, + { + .vendor_id = 0x5ca3, + .device_id = 0xc3, + .device_rev = 0x33, + .descr = "Nuvoton WPCM450RA0BX", + }, }; static void @@ -597,6 +603,9 @@ wb_probe_enable(device_t dev, int probe) goto cleanup; } + if (dev_id == 0xff && dev_rev == 0xff) + goto cleanup; + for (j = 0; j < sizeof(wb_devs) / sizeof(*wb_devs); j++) { if (wb_devs[j].device_id == dev_id && wb_devs[j].device_rev == dev_rev) { @@ -606,6 +615,16 @@ wb_probe_enable(device_t dev, int probe) break; } } + + if (!found) { + if (probe && dev != NULL) { + device_set_desc(dev, "Unknown Winbond/Nuvoton model"); + device_printf(dev, "DevID 0x%02x DevRev 0x%02x, " + "please report this.\n", dev_id, dev_rev); + } + found++; + } + if (probe && found && bootverbose && dev != NULL) device_printf(dev, "%s EFER 0x%02x ID 0x%02x Rev 0x%02x" " CR26 0x%02x (probing)\n", device_get_desc(dev), |
