mpc83xx SPI driver never calls its probe function

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Fri Nov 3 00:23:13 EST 2006


I am trying to get the driver/spi/spi_mpc83xx.c driver going and I am stuck.

I have tried to add spi_board_info and a platform_device:

static struct fsl_spi_platform_data bcm_platform_data = {
    .initial_spmode = 0,
    .bus_num = 1,
    .max_chipselect = 1,
/* board specific information */
    .activate_cs = bcm_cs_activate,
    .deactivate_cs = bcm_cs_deactivate,
    .sysclk =    266,
};
static struct spi_board_info spi_board_info[] __initdata = { {
    .modalias    = "bcm5322",
    .platform_data    = &bcm_platform_data,
    .max_speed_hz    = 120000,
    .bus_num    = 1,
    .chip_select    = 0,
},
};


struct platform_device bcm_5322 = {
    .name        = "bcm5322",
    .id        = 1,
    .dev        = {
        .platform_data = &bcm_platform_data,
    },
};
and register that with
 platform_device_register(&bcm_5322);
 spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info))

I also got a protocol driver that does:
static struct spi_driver bcm_driver = {
    .driver = {
        .name    = "bcm5322",
        .owner    = THIS_MODULE,
    },
    .probe    = bcm_probe,
    .remove    = __devexit_p(bcm_remove),
};
and then calls  spi_register_driver(&bcm_driver);
and I can't get the into the *probe functions. No matter what
combination I try,
the *probe functions for both the protocol driver and the spi_mpc83xx
driver are
never called.

I need some advice on how to enable my
protocol driver and the spi_mpc83xx driver.

 Jocke



More information about the Linuxppc-dev mailing list