disk/part.c: Make features optional

If we don't want to build support for any partition types we can now
add #undef CONFIG_PARTITIONS in a board config file to keep this from
being compiled in. Otherwise boards assume this is compiled in by
default

Signed-off-by: Matthew McClintock <msm@freescale.com>
This commit is contained in:
Matthew McClintock 2011-05-24 05:31:19 +00:00 committed by Wolfgang Denk
parent 07c07635b4
commit df3fc52608
10 changed files with 32 additions and 3 deletions

View File

@ -719,10 +719,12 @@ void ide_init (void)
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
#ifdef CONFIG_PARTITIONS
block_dev_desc_t * ide_get_dev(int dev) block_dev_desc_t * ide_get_dev(int dev)
{ {
return (dev < CONFIG_SYS_IDE_MAXDEVICE) ? &ide_dev_desc[dev] : NULL; return (dev < CONFIG_SYS_IDE_MAXDEVICE) ? &ide_dev_desc[dev] : NULL;
} }
#endif
#ifdef CONFIG_IDE_8xx_DIRECT #ifdef CONFIG_IDE_8xx_DIRECT

View File

@ -57,10 +57,12 @@ int __sata_initialize(void)
} }
int sata_initialize(void) __attribute__((weak,alias("__sata_initialize"))); int sata_initialize(void) __attribute__((weak,alias("__sata_initialize")));
#ifdef CONFIG_PARTITIONS
block_dev_desc_t *sata_get_dev(int dev) block_dev_desc_t *sata_get_dev(int dev)
{ {
return (dev < CONFIG_SYS_SATA_MAX_DEVICE) ? &sata_dev_desc[dev] : NULL; return (dev < CONFIG_SYS_SATA_MAX_DEVICE) ? &sata_dev_desc[dev] : NULL;
} }
#endif
int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{ {

View File

@ -194,11 +194,12 @@ void scsi_init(void)
} }
#endif #endif
#ifdef CONFIG_PARTITIONS
block_dev_desc_t * scsi_get_dev(int dev) block_dev_desc_t * scsi_get_dev(int dev)
{ {
return (dev < CONFIG_SYS_SCSI_MAX_DEVICE) ? &scsi_dev_desc[dev] : NULL; return (dev < CONFIG_SYS_SCSI_MAX_DEVICE) ? &scsi_dev_desc[dev] : NULL;
} }
#endif
/****************************************************************************** /******************************************************************************
* scsi boot command intepreter. Derived from diskboot * scsi boot command intepreter. Derived from diskboot

View File

@ -173,11 +173,12 @@ unsigned long usb_stor_write(int device, unsigned long blknr,
struct usb_device * usb_get_dev_index(int index); struct usb_device * usb_get_dev_index(int index);
void uhci_show_temp_int_td(void); void uhci_show_temp_int_td(void);
#ifdef CONFIG_PARTITIONS
block_dev_desc_t *usb_stor_get_dev(int index) block_dev_desc_t *usb_stor_get_dev(int index)
{ {
return (index < usb_max_devs) ? &usb_dev_desc[index] : NULL; return (index < usb_max_devs) ? &usb_dev_desc[index] : NULL;
} }
#endif
void usb_show_progress(void) void usb_show_progress(void)
{ {

View File

@ -27,7 +27,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)libdisk.o LIB = $(obj)libdisk.o
COBJS-y += part.o COBJS-$(CONFIG_PARTITIONS) += part.o
COBJS-$(CONFIG_MAC_PARTITION) += part_mac.o COBJS-$(CONFIG_MAC_PARTITION) += part_mac.o
COBJS-$(CONFIG_DOS_PARTITION) += part_dos.o COBJS-$(CONFIG_DOS_PARTITION) += part_dos.o
COBJS-$(CONFIG_ISO_PARTITION) += part_iso.o COBJS-$(CONFIG_ISO_PARTITION) += part_iso.o

View File

@ -522,10 +522,12 @@ mg_write_exit:
return err; return err;
} }
#ifdef CONFIG_PARTITIONS
block_dev_desc_t *mg_disk_get_dev(int dev) block_dev_desc_t *mg_disk_get_dev(int dev)
{ {
return ((block_dev_desc_t *) & mg_disk_dev); return ((block_dev_desc_t *) & mg_disk_dev);
} }
#endif
/* must override this function */ /* must override this function */
struct mg_drv_data * __attribute__((weak)) mg_get_drv_data (void) struct mg_drv_data * __attribute__((weak)) mg_get_drv_data (void)

View File

@ -104,6 +104,7 @@ static void release_cf_lock(void)
ace_writew((val & 0xffff), 0x18); ace_writew((val & 0xffff), 0x18);
} }
#ifdef CONFIG_PARTITIONS
block_dev_desc_t *systemace_get_dev(int dev) block_dev_desc_t *systemace_get_dev(int dev)
{ {
/* The first time through this, the systemace_dev object is /* The first time through this, the systemace_dev object is
@ -128,6 +129,7 @@ block_dev_desc_t *systemace_get_dev(int dev)
return &systemace_dev; return &systemace_dev;
} }
#endif
/* /*
* This function is called (by dereferencing the block_read pointer in * This function is called (by dereferencing the block_read pointer in

View File

@ -1167,12 +1167,14 @@ int mmc_register(struct mmc *mmc)
return 0; return 0;
} }
#ifdef CONFIG_PARTITIONS
block_dev_desc_t *mmc_get_dev(int dev) block_dev_desc_t *mmc_get_dev(int dev)
{ {
struct mmc *mmc = find_mmc_device(dev); struct mmc *mmc = find_mmc_device(dev);
return mmc ? &mmc->block_dev : NULL; return mmc ? &mmc->block_dev : NULL;
} }
#endif
int mmc_init(struct mmc *mmc) int mmc_init(struct mmc *mmc)
{ {

View File

@ -16,5 +16,6 @@
#define CONFIG_GZIP 1 #define CONFIG_GZIP 1
#define CONFIG_ZLIB 1 #define CONFIG_ZLIB 1
#define CONFIG_PARTITIONS 1
#endif #endif

View File

@ -96,6 +96,7 @@ typedef struct disk_partition {
} disk_partition_t; } disk_partition_t;
/* Misc _get_dev functions */ /* Misc _get_dev functions */
#ifdef CONFIG_PARTITIONS
block_dev_desc_t* get_dev(char* ifname, int dev); block_dev_desc_t* get_dev(char* ifname, int dev);
block_dev_desc_t* ide_get_dev(int dev); block_dev_desc_t* ide_get_dev(int dev);
block_dev_desc_t* sata_get_dev(int dev); block_dev_desc_t* sata_get_dev(int dev);
@ -110,7 +111,22 @@ int get_partition_info (block_dev_desc_t * dev_desc, int part, disk_partition_t
void print_part (block_dev_desc_t *dev_desc); void print_part (block_dev_desc_t *dev_desc);
void init_part (block_dev_desc_t *dev_desc); void init_part (block_dev_desc_t *dev_desc);
void dev_print(block_dev_desc_t *dev_desc); void dev_print(block_dev_desc_t *dev_desc);
#else
static inline block_dev_desc_t* get_dev(char* ifname, int dev) { return NULL; }
static inline block_dev_desc_t* ide_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* sata_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* scsi_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* usb_stor_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* mmc_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* systemace_get_dev(int dev) { return NULL; }
static inline block_dev_desc_t* mg_disk_get_dev(int dev) { return NULL; }
static inline int get_partition_info (block_dev_desc_t * dev_desc, int part,
disk_partition_t *info) { return -1; }
static inline void print_part (block_dev_desc_t *dev_desc) {}
static inline void init_part (block_dev_desc_t *dev_desc) {}
static inline void dev_print(block_dev_desc_t *dev_desc) {}
#endif
#ifdef CONFIG_MAC_PARTITION #ifdef CONFIG_MAC_PARTITION
/* disk/part_mac.c */ /* disk/part_mac.c */