Page MenuHomeFreeBSD

D6243.id15978.diff
No OneTemporary

D6243.id15978.diff

Index: sys/conf/files
===================================================================
--- sys/conf/files
+++ sys/conf/files
@@ -1494,6 +1494,7 @@
dev/firewire/sbp_targ.c optional sbp_targ
dev/flash/at45d.c optional at45d
dev/flash/mx25l.c optional mx25l
+dev/flash/flash_if.m optional mx25l | at45d
dev/fxp/if_fxp.c optional fxp
dev/fxp/inphy.c optional fxp
dev/gem/if_gem.c optional gem
Index: sys/dev/flash/at45d.c
===================================================================
--- sys/dev/flash/at45d.c
+++ sys/dev/flash/at45d.c
@@ -137,6 +137,12 @@
return (err);
}
+static uint64_t
+at45d_get_size(device_t dev){
+ struct at45d_softc* sc = device_get_softc(dev);
+ return sc->disk->d_mediasize;
+}
+
static int
at45d_get_mfg_info(device_t dev, uint8_t *resp)
{
@@ -438,6 +444,7 @@
DEVMETHOD(device_attach, at45d_attach),
DEVMETHOD(device_detach, at45d_detach),
+ DEVMETHOD(flash_get_size, at45d_get_size),
DEVMETHOD_END
};
Index: sys/dev/flash/flash_if.m
===================================================================
--- /dev/null
+++ sys/dev/flash/flash_if.m
@@ -0,0 +1,17 @@
+# $FreeBSD$
+
+# Flash chip interface description
+#
+
+#include <sys/bus.h>
+
+INTERFACE flash;
+
+# Get flash size
+#
+# Return values:
+# size
+#
+METHOD uint64_t get_size {
+ device_t dev;
+};
\ No newline at end of file
Index: sys/dev/flash/mx25l.c
===================================================================
--- sys/dev/flash/mx25l.c
+++ sys/dev/flash/mx25l.c
@@ -50,6 +50,8 @@
#include <dev/spibus/spi.h>
#include "spibus_if.h"
+#include "flash_if.h"
+
#include <dev/flash/mx25lreg.h>
@@ -151,6 +153,12 @@
return (rxBuf[1]);
}
+static uint64_t
+mx25l_get_size(device_t dev){
+ struct mx25l_softc* sc = device_get_softc(dev);
+ return sc->sc_disk->d_mediasize;
+}
+
static void
mx25l_wait_for_device_ready(device_t dev)
{
@@ -626,6 +634,7 @@
DEVMETHOD(device_attach, mx25l_attach),
DEVMETHOD(device_detach, mx25l_detach),
+ DEVMETHOD(flash_get_size, mx25l_get_size),
{ 0, 0 }
};

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 21, 9:08 AM (19 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30067364
Default Alt Text
D6243.id15978.diff (2 KB)

Event Timeline