aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi-butterfly.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/spi/spi-butterfly.c b/drivers/spi/spi-butterfly.c
index f16ef7fb10f1..22a31e4a1a11 100644
--- a/drivers/spi/spi-butterfly.c
+++ b/drivers/spi/spi-butterfly.c
@@ -189,6 +189,7 @@ static void butterfly_attach(struct parport *p)
189 struct butterfly *pp; 189 struct butterfly *pp;
190 struct spi_master *master; 190 struct spi_master *master;
191 struct device *dev = p->physport->dev; 191 struct device *dev = p->physport->dev;
192 struct pardev_cb butterfly_cb;
192 193
193 if (butterfly || !dev) 194 if (butterfly || !dev)
194 return; 195 return;
@@ -221,9 +222,9 @@ static void butterfly_attach(struct parport *p)
221 * parport hookup 222 * parport hookup
222 */ 223 */
223 pp->port = p; 224 pp->port = p;
224 pd = parport_register_device(p, "spi_butterfly", 225 memset(&butterfly_cb, 0, sizeof(butterfly_cb));
225 NULL, NULL, NULL, 226 butterfly_cb.private = pp;
226 0 /* FLAGS */, pp); 227 pd = parport_register_dev_model(p, "spi_butterfly", &butterfly_cb, 0);
227 if (!pd) { 228 if (!pd) {
228 status = -ENOMEM; 229 status = -ENOMEM;
229 goto clean0; 230 goto clean0;
@@ -321,8 +322,9 @@ static void butterfly_detach(struct parport *p)
321 322
322static struct parport_driver butterfly_driver = { 323static struct parport_driver butterfly_driver = {
323 .name = "spi_butterfly", 324 .name = "spi_butterfly",
324 .attach = butterfly_attach, 325 .match_port = butterfly_attach,
325 .detach = butterfly_detach, 326 .detach = butterfly_detach,
327 .devmodel = true,
326}; 328};
327 329
328static int __init butterfly_init(void) 330static int __init butterfly_init(void)