Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 241651d0 authored by David Woodhouse's avatar David Woodhouse
Browse files

[MTD] Fix CFI build error when no map width or interleave supported



When building NOR flash support, you have compile-time options for the
bus width and the number of individual chips which are interleaved
together onto that bus. The code to deal with arbitrary geometry is a
bit convoluted, and people want to just configure it for the specific
hardware they have, to avoid the runtime overhead.

Selecting _none_ of the available options doesn't make any sense. You
should have at least one. This makes it build though, since people
persist in trying.

Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent d15057b7
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -57,6 +57,15 @@
#define cfi_interleave_is_8(cfi) (0)
#define cfi_interleave_is_8(cfi) (0)
#endif
#endif


#ifndef cfi_interleave
#warning No CONFIG_MTD_CFI_Ix selected. No NOR chip support can work.
static inline int cfi_interleave(void *cfi)
{
	BUG();
	return 0;
}
#endif

static inline int cfi_interleave_supported(int i)
static inline int cfi_interleave_supported(int i)
{
{
	switch (i) {
	switch (i) {
+9 −1
Original line number Original line Diff line number Diff line
@@ -125,7 +125,15 @@
#endif
#endif


#ifndef map_bankwidth
#ifndef map_bankwidth
#error "No bus width supported. What's the point?"
#warning "No CONFIG_MTD_MAP_BANK_WIDTH_xx selected. No NOR chip support can work"
static inline int map_bankwidth(void *map)
{
	BUG();
	return 0;
}
#define map_bankwidth_is_large(map) (0)
#define map_words(map) (0)
#define MAX_MAP_BANKWIDTH 1
#endif
#endif


static inline int map_bankwidth_supported(int w)
static inline int map_bankwidth_supported(int w)