Skip to content

Commit

Permalink
PCMCIA: soc_common: move common initialization into soc_common
Browse files Browse the repository at this point in the history
Move common socket initialization into soc_common.c.

Acked-by: Dominik Brodowski <[email protected]>
Signed-off-by: Russell King <[email protected]>
  • Loading branch information
Russell King committed Jan 26, 2012
1 parent dcd6c92 commit e0d2117
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 12 deletions.
5 changes: 1 addition & 4 deletions drivers/pcmcia/pxa2xx_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,10 +318,7 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev)

skt->nr = ops->first + i;
skt->clk = clk;
skt->ops = ops;
skt->socket.owner = ops->owner;
skt->socket.dev.parent = &dev->dev;
skt->socket.pci_irq = NO_IRQ;
soc_pcmcia_init_one(skt, ops, &dev->dev);

ret = pxa2xx_drv_pcmcia_add_one(skt);
if (ret)
Expand Down
4 changes: 1 addition & 3 deletions drivers/pcmcia/sa1111_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,7 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
return -ENOMEM;

s->soc.nr = ops->first + i;
s->soc.ops = ops;
s->soc.socket.owner = ops->owner;
s->soc.socket.dev.parent = &dev->dev;
soc_pcmcia_init_one(&s->soc, ops, &dev->dev);
s->soc.socket.pci_irq = s->soc.nr ?
dev->irq[IDX_IRQ_S0_READY_NINT] :
dev->irq[IDX_IRQ_S1_READY_NINT];
Expand Down
5 changes: 1 addition & 4 deletions drivers/pcmcia/sa11xx_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,7 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
skt = &sinfo->skt[i];

skt->nr = first + i;
skt->ops = ops;
skt->socket.owner = ops->owner;
skt->socket.dev.parent = dev;
skt->socket.pci_irq = NO_IRQ;
soc_pcmcia_init_one(skt, ops, dev);

ret = sa11xx_drv_pcmcia_add_one(skt);
if (ret)
Expand Down
10 changes: 10 additions & 0 deletions drivers/pcmcia/soc_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,16 @@ module_exit(soc_pcmcia_cpufreq_unregister);

#endif

void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
struct pcmcia_low_level *ops, struct device *dev)
{
skt->ops = ops;
skt->socket.owner = ops->owner;
skt->socket.dev.parent = dev;
skt->socket.pci_irq = NO_IRQ;
}
EXPORT_SYMBOL(soc_pcmcia_init_one);

void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt)
{
mutex_lock(&soc_pcmcia_sockets_lock);
Expand Down
3 changes: 2 additions & 1 deletion drivers/pcmcia/soc_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@ extern void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia
extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *);


void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
struct pcmcia_low_level *ops, struct device *dev);
void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt);
int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt);

Expand Down

0 comments on commit e0d2117

Please sign in to comment.