arch/powerpc: Move dma_mask from of_device into pdev_archdata
By moving dma_mask into pdev_archdata, and adding archdata to struct of_device, it makes it possible to substitute of_device with struct platform_device, which is a stepping stone to removing the of_platform bus entirely. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
@@ -28,6 +28,7 @@ struct dev_archdata {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct pdev_archdata {
|
struct pdev_archdata {
|
||||||
|
u64 dma_mask;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _ASM_POWERPC_DEVICE_H */
|
#endif /* _ASM_POWERPC_DEVICE_H */
|
||||||
|
@@ -12,8 +12,8 @@
|
|||||||
*/
|
*/
|
||||||
struct of_device
|
struct of_device
|
||||||
{
|
{
|
||||||
u64 dma_mask; /* DMA mask */
|
|
||||||
struct device dev; /* Generic device interface */
|
struct device dev; /* Generic device interface */
|
||||||
|
struct pdev_archdata archdata;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct of_device *of_device_alloc(struct device_node *np,
|
extern struct of_device *of_device_alloc(struct device_node *np,
|
||||||
|
@@ -70,7 +70,7 @@ struct of_device *of_device_alloc(struct device_node *np,
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
dev->dev.of_node = of_node_get(np);
|
dev->dev.of_node = of_node_get(np);
|
||||||
dev->dev.dma_mask = &dev->dma_mask;
|
dev->dev.dma_mask = &dev->archdata.dma_mask;
|
||||||
dev->dev.parent = parent;
|
dev->dev.parent = parent;
|
||||||
dev->dev.release = of_release_dev;
|
dev->dev.release = of_release_dev;
|
||||||
|
|
||||||
|
@@ -74,7 +74,7 @@ struct of_device* of_platform_device_create(struct device_node *np,
|
|||||||
if (!dev)
|
if (!dev)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
dev->dma_mask = 0xffffffffUL;
|
dev->archdata.dma_mask = 0xffffffffUL;
|
||||||
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
dev->dev.bus = &of_platform_bus_type;
|
dev->dev.bus = &of_platform_bus_type;
|
||||||
|
@@ -374,8 +374,8 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip,
|
|||||||
dev->bus = &chip->lbus;
|
dev->bus = &chip->lbus;
|
||||||
dev->media_bay = in_bay;
|
dev->media_bay = in_bay;
|
||||||
dev->ofdev.dev.of_node = np;
|
dev->ofdev.dev.of_node = np;
|
||||||
dev->ofdev.dma_mask = 0xffffffffUL;
|
dev->ofdev.archdata.dma_mask = 0xffffffffUL;
|
||||||
dev->ofdev.dev.dma_mask = &dev->ofdev.dma_mask;
|
dev->ofdev.dev.dma_mask = &dev->ofdev.archdata.dma_mask;
|
||||||
dev->ofdev.dev.parent = parent;
|
dev->ofdev.dev.parent = parent;
|
||||||
dev->ofdev.dev.bus = &macio_bus_type;
|
dev->ofdev.dev.bus = &macio_bus_type;
|
||||||
dev->ofdev.dev.release = macio_release_dev;
|
dev->ofdev.dev.release = macio_release_dev;
|
||||||
|
@@ -221,9 +221,9 @@ static int i2sbus_add_dev(struct macio_dev *macio,
|
|||||||
|
|
||||||
mutex_init(&dev->lock);
|
mutex_init(&dev->lock);
|
||||||
spin_lock_init(&dev->low_lock);
|
spin_lock_init(&dev->low_lock);
|
||||||
dev->sound.ofdev.dma_mask = macio->ofdev.dma_mask;
|
dev->sound.ofdev.archdata.dma_mask = macio->ofdev.archdata.dma_mask;
|
||||||
dev->sound.ofdev.dev.of_node = np;
|
dev->sound.ofdev.dev.of_node = np;
|
||||||
dev->sound.ofdev.dev.dma_mask = &dev->sound.ofdev.dma_mask;
|
dev->sound.ofdev.dev.dma_mask = &dev->sound.ofdev.archdata.dma_mask;
|
||||||
dev->sound.ofdev.dev.parent = &macio->ofdev.dev;
|
dev->sound.ofdev.dev.parent = &macio->ofdev.dev;
|
||||||
dev->sound.ofdev.dev.release = i2sbus_release_dev;
|
dev->sound.ofdev.dev.release = i2sbus_release_dev;
|
||||||
dev->sound.attach_codec = i2sbus_attach_codec;
|
dev->sound.attach_codec = i2sbus_attach_codec;
|
||||||
|
Reference in New Issue
Block a user