Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 365238
b: refs/heads/master
c: c3f3e77
h: refs/heads/master
v: v3
  • Loading branch information
Andreas Larsson authored and Grant Likely committed Apr 7, 2013
1 parent bade284 commit 21dc3b1
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b48c4e3c944e8c52dcb0f477e9d80da045c7cab4
refs/heads/master: c3f3e7717f1cf01d9117a98ed89decc41d7cb5db
2 changes: 2 additions & 0 deletions trunk/drivers/spi/spi-fsl-lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ struct mpc8xxx_spi {
unsigned int flags;

#ifdef CONFIG_SPI_FSL_SPI
int type;

void (*set_shifts)(u32 *rx_shift, u32 *tx_shift,
int bits_per_word, int msb_first);
#endif
Expand Down
39 changes: 32 additions & 7 deletions trunk/drivers/spi/spi-fsl-spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,37 @@
#include "spi-fsl-cpm.h"
#include "spi-fsl-spi.h"

#define TYPE_FSL 0

struct fsl_spi_match_data {
int type;
};

static struct fsl_spi_match_data of_fsl_spi_fsl_config = {
.type = TYPE_FSL,
};

static struct of_device_id of_fsl_spi_match[] = {
{
.compatible = "fsl,spi",
.data = &of_fsl_spi_fsl_config,
},
{}
};
MODULE_DEVICE_TABLE(of, of_fsl_spi_match);

static int fsl_spi_get_type(struct device *dev)
{
const struct of_device_id *match;

if (dev->of_node) {
match = of_match_node(of_fsl_spi_match, dev->of_node);
if (match && match->data)
return ((struct fsl_spi_match_data *)match->data)->type;
}
return TYPE_FSL;
}

static void fsl_spi_change_mode(struct spi_device *spi)
{
struct mpc8xxx_spi *mspi = spi_master_get_devdata(spi->master);
Expand Down Expand Up @@ -489,7 +520,7 @@ static struct spi_master * fsl_spi_probe(struct device *dev,
mpc8xxx_spi = spi_master_get_devdata(master);
mpc8xxx_spi->spi_do_one_msg = fsl_spi_do_one_msg;
mpc8xxx_spi->spi_remove = fsl_spi_remove;

mpc8xxx_spi->type = fsl_spi_get_type(dev);

ret = fsl_spi_cpm_init(mpc8xxx_spi);
if (ret)
Expand Down Expand Up @@ -714,12 +745,6 @@ static int of_fsl_spi_remove(struct platform_device *ofdev)
return 0;
}

static const struct of_device_id of_fsl_spi_match[] = {
{ .compatible = "fsl,spi" },
{}
};
MODULE_DEVICE_TABLE(of, of_fsl_spi_match);

static struct platform_driver of_fsl_spi_driver = {
.driver = {
.name = "fsl_spi",
Expand Down

0 comments on commit 21dc3b1

Please sign in to comment.