mirror of
https://github.com/tbsdtv/media_build.git
synced 2025-07-23 04:13:02 +02:00
296 lines
9.7 KiB
Diff
296 lines
9.7 KiB
Diff
diff --git a/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c b/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c
|
|
index 34d6d52f1e4e..0b1e9f32fd47 100644
|
|
--- a/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c
|
|
+++ b/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c
|
|
@@ -35,7 +35,7 @@ struct netup_spi_regs {
|
|
|
|
struct netup_spi {
|
|
struct device *dev;
|
|
- struct spi_controller *ctlr;
|
|
+ struct spi_master *master;
|
|
struct netup_spi_regs __iomem *regs;
|
|
u8 __iomem *mmio;
|
|
spinlock_t lock;
|
|
@@ -78,7 +78,7 @@ irqreturn_t netup_spi_interrupt(struct netup_spi *spi)
|
|
reg = readw(&spi->regs->control_stat);
|
|
if (!(reg & NETUP_SPI_CTRL_IRQ)) {
|
|
spin_unlock_irqrestore(&spi->lock, flags);
|
|
- dev_dbg(&spi->ctlr->dev,
|
|
+ dev_dbg(&spi->master->dev,
|
|
"%s(): not mine interrupt\n", __func__);
|
|
return IRQ_NONE;
|
|
}
|
|
@@ -88,15 +88,15 @@ irqreturn_t netup_spi_interrupt(struct netup_spi *spi)
|
|
spi->state = SPI_STATE_DONE;
|
|
wake_up(&spi->waitq);
|
|
spin_unlock_irqrestore(&spi->lock, flags);
|
|
- dev_dbg(&spi->ctlr->dev,
|
|
+ dev_dbg(&spi->master->dev,
|
|
"%s(): SPI interrupt handled\n", __func__);
|
|
return IRQ_HANDLED;
|
|
}
|
|
|
|
-static int netup_spi_transfer(struct spi_controller *ctlr,
|
|
+static int netup_spi_transfer(struct spi_master *master,
|
|
struct spi_message *msg)
|
|
{
|
|
- struct netup_spi *spi = spi_controller_get_devdata(ctlr);
|
|
+ struct netup_spi *spi = spi_master_get_devdata(master);
|
|
struct spi_transfer *t;
|
|
int result = 0;
|
|
u32 tr_size;
|
|
@@ -131,7 +131,7 @@ static int netup_spi_transfer(struct spi_controller *ctlr,
|
|
NETUP_SPI_CTRL_START |
|
|
(frag_last ? NETUP_SPI_CTRL_LAST_CS : 0),
|
|
&spi->regs->control_stat);
|
|
- dev_dbg(&spi->ctlr->dev,
|
|
+ dev_dbg(&spi->master->dev,
|
|
"%s(): control_stat 0x%04x\n",
|
|
__func__, readw(&spi->regs->control_stat));
|
|
wait_event_timeout(spi->waitq,
|
|
@@ -144,11 +144,11 @@ static int netup_spi_transfer(struct spi_controller *ctlr,
|
|
}
|
|
} else {
|
|
if (spi->state == SPI_STATE_START) {
|
|
- dev_dbg(&spi->ctlr->dev,
|
|
+ dev_dbg(&spi->master->dev,
|
|
"%s(): transfer timeout\n",
|
|
__func__);
|
|
} else {
|
|
- dev_dbg(&spi->ctlr->dev,
|
|
+ dev_dbg(&spi->master->dev,
|
|
"%s(): invalid state %d\n",
|
|
__func__, spi->state);
|
|
}
|
|
@@ -161,7 +161,7 @@ static int netup_spi_transfer(struct spi_controller *ctlr,
|
|
}
|
|
done:
|
|
msg->status = result;
|
|
- spi_finalize_current_message(ctlr);
|
|
+ spi_finalize_current_message(master);
|
|
return result;
|
|
}
|
|
|
|
@@ -172,30 +172,30 @@ static int netup_spi_setup(struct spi_device *spi)
|
|
|
|
int netup_spi_init(struct netup_unidvb_dev *ndev)
|
|
{
|
|
- struct spi_controller *ctlr;
|
|
+ struct spi_master *master;
|
|
struct netup_spi *nspi;
|
|
|
|
- ctlr = devm_spi_alloc_host(&ndev->pci_dev->dev,
|
|
- sizeof(struct netup_spi));
|
|
- if (!ctlr) {
|
|
+ master = devm_spi_alloc_master(&ndev->pci_dev->dev,
|
|
+ sizeof(struct netup_spi));
|
|
+ if (!master) {
|
|
dev_err(&ndev->pci_dev->dev,
|
|
"%s(): unable to alloc SPI host\n", __func__);
|
|
return -EINVAL;
|
|
}
|
|
- nspi = spi_controller_get_devdata(ctlr);
|
|
- ctlr->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
|
|
- ctlr->bus_num = -1;
|
|
- ctlr->num_chipselect = 1;
|
|
- ctlr->transfer_one_message = netup_spi_transfer;
|
|
- ctlr->setup = netup_spi_setup;
|
|
+ nspi = spi_master_get_devdata(master);
|
|
+ master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
|
|
+ master->bus_num = -1;
|
|
+ master->num_chipselect = 1;
|
|
+ master->transfer_one_message = netup_spi_transfer;
|
|
+ master->setup = netup_spi_setup;
|
|
spin_lock_init(&nspi->lock);
|
|
init_waitqueue_head(&nspi->waitq);
|
|
- nspi->ctlr = ctlr;
|
|
+ nspi->master = master;
|
|
nspi->regs = (struct netup_spi_regs __iomem *)(ndev->bmmio0 + 0x4000);
|
|
writew(2, &nspi->regs->clock_divider);
|
|
writew(NETUP_UNIDVB_IRQ_SPI, ndev->bmmio0 + REG_IMASK_SET);
|
|
ndev->spi = nspi;
|
|
- if (spi_register_controller(ctlr)) {
|
|
+ if (spi_register_master(master)) {
|
|
ndev->spi = NULL;
|
|
dev_err(&ndev->pci_dev->dev,
|
|
"%s(): unable to register SPI bus\n", __func__);
|
|
@@ -207,8 +207,8 @@ int netup_spi_init(struct netup_unidvb_dev *ndev)
|
|
ndev->pci_bus,
|
|
ndev->pci_slot,
|
|
ndev->pci_func);
|
|
- if (!spi_new_device(ctlr, &netup_spi_board)) {
|
|
- spi_unregister_controller(ctlr);
|
|
+ if (!spi_new_device(master, &netup_spi_board)) {
|
|
+ spi_unregister_master(master);
|
|
ndev->spi = NULL;
|
|
dev_err(&ndev->pci_dev->dev,
|
|
"%s(): unable to create SPI device\n", __func__);
|
|
@@ -227,7 +227,7 @@ void netup_spi_release(struct netup_unidvb_dev *ndev)
|
|
if (!spi)
|
|
return;
|
|
|
|
- spi_unregister_controller(spi->ctlr);
|
|
+ spi_unregister_master(spi->master);
|
|
spin_lock_irqsave(&spi->lock, flags);
|
|
reg = readw(&spi->regs->control_stat);
|
|
writew(reg | NETUP_SPI_CTRL_IRQ, &spi->regs->control_stat);
|
|
diff --git a/drivers/media/usb/msi2500/msi2500.c b/drivers/media/usb/msi2500/msi2500.c
|
|
index 05b0550e840c..9759996ee6a4 100644
|
|
--- a/drivers/media/usb/msi2500/msi2500.c
|
|
+++ b/drivers/media/usb/msi2500/msi2500.c
|
|
@@ -107,7 +107,7 @@ struct msi2500_dev {
|
|
struct video_device vdev;
|
|
struct v4l2_device v4l2_dev;
|
|
struct v4l2_subdev *v4l2_subdev;
|
|
- struct spi_controller *ctlr;
|
|
+ struct spi_master *master;
|
|
|
|
/* videobuf2 queue and queued buffers list */
|
|
struct vb2_queue vb_queue;
|
|
@@ -574,7 +574,7 @@ static void msi2500_disconnect(struct usb_interface *intf)
|
|
dev->udev = NULL;
|
|
v4l2_device_disconnect(&dev->v4l2_dev);
|
|
video_unregister_device(&dev->vdev);
|
|
- spi_unregister_controller(dev->ctlr);
|
|
+ spi_unregister_master(dev->master);
|
|
mutex_unlock(&dev->v4l2_lock);
|
|
mutex_unlock(&dev->vb_queue_lock);
|
|
|
|
@@ -1136,10 +1136,10 @@ static void msi2500_video_release(struct v4l2_device *v)
|
|
kfree(dev);
|
|
}
|
|
|
|
-static int msi2500_transfer_one_message(struct spi_controller *ctlr,
|
|
+static int msi2500_transfer_one_message(struct spi_master *master,
|
|
struct spi_message *m)
|
|
{
|
|
- struct msi2500_dev *dev = spi_controller_get_devdata(ctlr);
|
|
+ struct msi2500_dev *dev = spi_master_get_devdata(master);
|
|
struct spi_transfer *t;
|
|
int ret = 0;
|
|
u32 data;
|
|
@@ -1154,7 +1154,7 @@ static int msi2500_transfer_one_message(struct spi_controller *ctlr,
|
|
}
|
|
|
|
m->status = ret;
|
|
- spi_finalize_current_message(ctlr);
|
|
+ spi_finalize_current_message(master);
|
|
return ret;
|
|
}
|
|
|
|
@@ -1163,7 +1163,7 @@ static int msi2500_probe(struct usb_interface *intf,
|
|
{
|
|
struct msi2500_dev *dev;
|
|
struct v4l2_subdev *sd;
|
|
- struct spi_controller *ctlr;
|
|
+ struct spi_master *master;
|
|
int ret;
|
|
static struct spi_board_info board_info = {
|
|
.modalias = "msi001",
|
|
@@ -1219,31 +1219,31 @@ static int msi2500_probe(struct usb_interface *intf,
|
|
goto err_free_mem;
|
|
}
|
|
|
|
- /* SPI host adapter */
|
|
- ctlr = spi_alloc_host(dev->dev, 0);
|
|
- if (ctlr == NULL) {
|
|
+ /* SPI master adapter */
|
|
+ master = spi_alloc_master(dev->dev, 0);
|
|
+ if (master == NULL) {
|
|
ret = -ENOMEM;
|
|
goto err_unregister_v4l2_dev;
|
|
}
|
|
|
|
- dev->ctlr = ctlr;
|
|
- ctlr->bus_num = -1;
|
|
- ctlr->num_chipselect = 1;
|
|
- ctlr->transfer_one_message = msi2500_transfer_one_message;
|
|
- spi_controller_set_devdata(ctlr, dev);
|
|
- ret = spi_register_controller(ctlr);
|
|
+ dev->master = master;
|
|
+ master->bus_num = -1;
|
|
+ master->num_chipselect = 1;
|
|
+ master->transfer_one_message = msi2500_transfer_one_message;
|
|
+ spi_master_set_devdata(master, dev);
|
|
+ ret = spi_register_master(master);
|
|
if (ret) {
|
|
- spi_controller_put(ctlr);
|
|
+ spi_master_put(master);
|
|
goto err_unregister_v4l2_dev;
|
|
}
|
|
|
|
/* load v4l2 subdevice */
|
|
- sd = v4l2_spi_new_subdev(&dev->v4l2_dev, ctlr, &board_info);
|
|
+ sd = v4l2_spi_new_subdev(&dev->v4l2_dev, master, &board_info);
|
|
dev->v4l2_subdev = sd;
|
|
if (sd == NULL) {
|
|
dev_err(dev->dev, "cannot get v4l2 subdevice\n");
|
|
ret = -ENODEV;
|
|
- goto err_unregister_controller;
|
|
+ goto err_unregister_master;
|
|
}
|
|
|
|
/* Register controls */
|
|
@@ -1276,8 +1276,8 @@ static int msi2500_probe(struct usb_interface *intf,
|
|
return 0;
|
|
err_free_controls:
|
|
v4l2_ctrl_handler_free(&dev->hdl);
|
|
-err_unregister_controller:
|
|
- spi_unregister_controller(dev->ctlr);
|
|
+err_unregister_master:
|
|
+ spi_unregister_master(dev->master);
|
|
err_unregister_v4l2_dev:
|
|
v4l2_device_unregister(&dev->v4l2_dev);
|
|
err_free_mem:
|
|
diff --git a/drivers/media/v4l2-core/v4l2-spi.c b/drivers/media/v4l2-core/v4l2-spi.c
|
|
index a7092c3930d6..eadecdff7349 100644
|
|
--- a/drivers/media/v4l2-core/v4l2-spi.c
|
|
+++ b/drivers/media/v4l2-core/v4l2-spi.c
|
|
@@ -34,7 +34,7 @@ void v4l2_spi_subdev_init(struct v4l2_subdev *sd, struct spi_device *spi,
|
|
EXPORT_SYMBOL_GPL(v4l2_spi_subdev_init);
|
|
|
|
struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
|
|
- struct spi_controller *ctlr,
|
|
+ struct spi_master *master,
|
|
struct spi_board_info *info)
|
|
{
|
|
struct v4l2_subdev *sd = NULL;
|
|
@@ -45,7 +45,7 @@ struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
|
|
if (info->modalias[0])
|
|
request_module(info->modalias);
|
|
|
|
- spi = spi_new_device(ctlr, info);
|
|
+ spi = spi_new_device(master, info);
|
|
|
|
if (!spi || !spi->dev.driver)
|
|
goto error;
|
|
diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h
|
|
index fa1f2435f0de..d278836fd9cb 100644
|
|
--- a/include/media/v4l2-common.h
|
|
+++ b/include/media/v4l2-common.h
|
|
@@ -278,13 +278,13 @@ static inline void v4l2_i2c_subdev_unregister(struct v4l2_subdev *sd)
|
|
*
|
|
*
|
|
* @v4l2_dev: pointer to &struct v4l2_device.
|
|
- * @ctlr: pointer to struct spi_controller.
|
|
+ * @master: pointer to struct spi_master.
|
|
* @info: pointer to struct spi_board_info.
|
|
*
|
|
* returns a &struct v4l2_subdev pointer.
|
|
*/
|
|
struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
|
|
- struct spi_controller *ctlr, struct spi_board_info *info);
|
|
+ struct spi_master *master, struct spi_board_info *info);
|
|
|
|
/**
|
|
* v4l2_spi_subdev_init - Initialize a v4l2_subdev with data from an
|
|
@@ -308,7 +308,7 @@ void v4l2_spi_subdev_unregister(struct v4l2_subdev *sd);
|
|
|
|
static inline struct v4l2_subdev *
|
|
v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
|
|
- struct spi_controller *ctlr, struct spi_board_info *info)
|
|
+ struct spi_master *master, struct spi_board_info *info)
|
|
{
|
|
return NULL;
|
|
}
|