aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata/ata-disk.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2006-08-09 18:23:47 +0000
committerWarner Losh <imp@FreeBSD.org>2006-08-09 18:23:47 +0000
commitab649fd4d2d090ec4fc32e14730a3420fb235576 (patch)
treea38bd9ef3fa9dad47561e8d2c581806557aca6d8 /sys/dev/ata/ata-disk.c
parent850590166f3ac79a1a9ea99b36ab8cf164d82381 (diff)
Notes
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r--sys/dev/ata/ata-disk.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index 6d90b409ba0b..785699f591aa 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -62,6 +62,14 @@ static disk_strategy_t ad_strategy;
static disk_ioctl_t ad_ioctl;
static dumper_t ad_dump;
+/*
+ * Most platforms map firmware geom to actual, but some don't. If
+ * not overridden, default to nothing.
+ */
+#ifndef ad_firmware_geom_adjust
+#define ad_firmware_geom_adjust(dev, disk)
+#endif
+
/* local vars */
static MALLOC_DEFINE(M_AD, "ad_driver", "ATA disk driver");
@@ -152,6 +160,7 @@ ad_attach(device_t dev)
adp->disk->d_unit = device_get_unit(dev);
disk_create(adp->disk, DISK_VERSION);
device_add_child(dev, "subdisk", device_get_unit(dev));
+ ad_firmware_geom_adjust(dev, adp->disk);
bus_generic_attach(dev);
return 0;
}