X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fsh%2Fcchips%2Fvoyagergx%2Fconsistent.c;h=07e8b9c5a5314ed437036ca54369b9c6ef61276e;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=5b92585a38d2b3512889557b9cb18e30f78921bc;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/arch/sh/cchips/voyagergx/consistent.c b/arch/sh/cchips/voyagergx/consistent.c index 5b92585a3..07e8b9c5a 100644 --- a/arch/sh/cchips/voyagergx/consistent.c +++ b/arch/sh/cchips/voyagergx/consistent.c @@ -15,7 +15,7 @@ #include #include #include -#include + struct voya_alloc_entry { struct list_head list; @@ -30,12 +30,13 @@ static LIST_HEAD(voya_alloc_list); #define OHCI_HCCA_SIZE 0x100 #define OHCI_SRAM_SIZE 0x10000 +#define VOYAGER_OHCI_NAME "voyager-ohci" + void *voyagergx_consistent_alloc(struct device *dev, size_t size, - dma_addr_t *handle, int flag) + dma_addr_t *handle, gfp_t flag) { struct list_head *list = &voya_alloc_list; struct voya_alloc_entry *entry; - struct sh_dev *shdev = to_sh_dev(dev); unsigned long start, end; unsigned long flags; @@ -46,9 +47,7 @@ void *voyagergx_consistent_alloc(struct device *dev, size_t size, * * Everything else goes through consistent_alloc(). */ - if (!dev || dev->bus != &sh_bus_types[SH_BUS_VIRT] || - (dev->bus == &sh_bus_types[SH_BUS_VIRT] && - shdev->dev_id != SH_DEV_ID_USB_OHCI)) + if (!dev || strcmp(dev->driver->name, VOYAGER_OHCI_NAME)) return NULL; start = OHCI_SRAM_START + OHCI_HCCA_SIZE; @@ -98,12 +97,9 @@ int voyagergx_consistent_free(struct device *dev, size_t size, void *vaddr, dma_addr_t handle) { struct voya_alloc_entry *entry; - struct sh_dev *shdev = to_sh_dev(dev); unsigned long flags; - if (!dev || dev->bus != &sh_bus_types[SH_BUS_VIRT] || - (dev->bus == &sh_bus_types[SH_BUS_VIRT] && - shdev->dev_id != SH_DEV_ID_USB_OHCI)) + if (!dev || strcmp(dev->driver->name, VOYAGER_OHCI_NAME)) return -EINVAL; spin_lock_irqsave(&voya_list_lock, flags); @@ -123,4 +119,3 @@ int voyagergx_consistent_free(struct device *dev, size_t size, EXPORT_SYMBOL(voyagergx_consistent_alloc); EXPORT_SYMBOL(voyagergx_consistent_free); -