Re: [PATCH] SSB: make it depend on PCI

From: Mike Frysinger
Date: Thu Nov 06 2008 - 06:15:40 EST


On Thu, Nov 6, 2008 at 06:07, Johannes Berg wrote:
> On Thu, 2008-11-06 at 04:51 -0500, Mike Frysinger wrote:
>> Since the SSB code requires PCI, set the Kconfig dependencies accordingly.
>> Also tweak the menu display so that the menu does not show up at all if
>> SSB is not possible.
>>
>> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
>> ---
>> drivers/ssb/Kconfig | 7 ++++---
>> 1 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
>> index 307b1f6..f0a176a 100644
>> --- a/drivers/ssb/Kconfig
>> +++ b/drivers/ssb/Kconfig
>> @@ -1,10 +1,11 @@
>> -menu "Sonics Silicon Backplane"
>> -
>> config SSB_POSSIBLE
>> bool
>> - depends on HAS_IOMEM && HAS_DMA
>> + depends on HAS_IOMEM && HAS_DMA && PCI
>
> This is incorrect. SSB is also used on embedded systems that do not use
> PCI at all.

while that may be the intent, it doesnt work today.

drivers/ssb/main.c always includes linux/ssb/ssb.h

linux/ssb/ssb.h always calls pci_dma_* functions

arches that do not support PCI fail to build:
CC drivers/ssb/main.o
In file included from drivers/ssb/ssb_private.h:5,
from drivers/ssb/main.c:12:
include/linux/ssb/ssb.h: In function 'ssb_dma_mapping_error':
include/linux/ssb/ssb.h:430: error: implicit declaration of function
'pci_dma_mapping_error'
include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_cpu':
include/linux/ssb/ssb.h:475: error: implicit declaration of function
'pci_dma_sync_single_for_cpu'
include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_device':
include/linux/ssb/ssb.h:493: error: implicit declaration of function
'pci_dma_sync_single_for_device'
include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_cpu':
include/linux/ssb/ssb.h:517: error: implicit declaration of function
'dma_sync_single_range_for_cpu'
include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_device':
include/linux/ssb/ssb.h:538: error: implicit declaration of function
'dma_sync_single_range_for_device'
drivers/ssb/main.c: In function 'ssb_dma_set_mask':
drivers/ssb/main.c:1183: error: implicit declaration of function 'dma_set_mask'
make[1]: *** [drivers/ssb/main.o] Error 1
make: *** [drivers/ssb/main.o] Error 2
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/