mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
syscore: Pass context data to callbacks
Several drivers can benefit from registering per-instance data along with the syscore operations. To achieve this, move the modifiable fields out of the syscore_ops structure and into a separate struct syscore that can be registered with the framework. Add a void * driver data field for drivers to store contextual data that will be passed to the syscore ops. Acked-by: Rafael J. Wysocki (Intel) <rafael@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
@@ -982,7 +982,7 @@ u32 au1xxx_dbdma_put_dscr(u32 chanid, au1x_ddma_desc_t *dscr)
|
||||
|
||||
static unsigned long alchemy_dbdma_pm_data[NUM_DBDMA_CHANS + 1][6];
|
||||
|
||||
static int alchemy_dbdma_suspend(void)
|
||||
static int alchemy_dbdma_suspend(void *data)
|
||||
{
|
||||
int i;
|
||||
void __iomem *addr;
|
||||
@@ -1019,7 +1019,7 @@ static int alchemy_dbdma_suspend(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void alchemy_dbdma_resume(void)
|
||||
static void alchemy_dbdma_resume(void *data)
|
||||
{
|
||||
int i;
|
||||
void __iomem *addr;
|
||||
@@ -1044,11 +1044,15 @@ static void alchemy_dbdma_resume(void)
|
||||
}
|
||||
}
|
||||
|
||||
static struct syscore_ops alchemy_dbdma_syscore_ops = {
|
||||
static const struct syscore_ops alchemy_dbdma_syscore_ops = {
|
||||
.suspend = alchemy_dbdma_suspend,
|
||||
.resume = alchemy_dbdma_resume,
|
||||
};
|
||||
|
||||
static struct syscore alchemy_dbdma_syscore = {
|
||||
.ops = &alchemy_dbdma_syscore_ops,
|
||||
};
|
||||
|
||||
static int __init dbdma_setup(unsigned int irq, dbdev_tab_t *idtable)
|
||||
{
|
||||
int ret;
|
||||
@@ -1071,7 +1075,7 @@ static int __init dbdma_setup(unsigned int irq, dbdev_tab_t *idtable)
|
||||
printk(KERN_ERR "Cannot grab DBDMA interrupt!\n");
|
||||
else {
|
||||
dbdma_initialized = 1;
|
||||
register_syscore_ops(&alchemy_dbdma_syscore_ops);
|
||||
register_syscore(&alchemy_dbdma_syscore);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user