|
@@ -135,8 +135,13 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
|
|
|
int (*add)(struct soc_pcmcia_socket *))
|
|
|
{
|
|
|
struct sa1111_pcmcia_socket *s;
|
|
|
+ struct clk *clk;
|
|
|
int i, ret = 0;
|
|
|
|
|
|
+ clk = devm_clk_get(&dev->dev, NULL);
|
|
|
+ if (IS_ERR(clk))
|
|
|
+ return PTR_ERR(clk);
|
|
|
+
|
|
|
ops->socket_state = sa1111_pcmcia_socket_state;
|
|
|
|
|
|
for (i = 0; i < ops->nr; i++) {
|
|
@@ -145,12 +150,8 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
|
|
|
return -ENOMEM;
|
|
|
|
|
|
s->soc.nr = ops->first + i;
|
|
|
- s->soc.clk = devm_clk_get(&dev->dev, NULL);
|
|
|
- if (IS_ERR(s->soc.clk)) {
|
|
|
- ret = PTR_ERR(s->soc.clk);
|
|
|
- kfree(s);
|
|
|
- return ret;
|
|
|
- }
|
|
|
+ s->soc.clk = clk;
|
|
|
+
|
|
|
soc_pcmcia_init_one(&s->soc, ops, &dev->dev);
|
|
|
s->dev = dev;
|
|
|
if (s->soc.nr) {
|