Commit e583bfbf authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mauro Carvalho Chehab

media: staging: atomisp: Switch to use struct device_driver directly

In a preparation of split PCI glue driver from core part, convert
the driver to use more generic struct device_driver.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 9e993ed0
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
* *
*/ */
#include <linux/device.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/pci.h>
#include "atomisp_compat.h" #include "atomisp_compat.h"
#include "atomisp_internal.h" #include "atomisp_internal.h"
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
* bit 2: memory statistic * bit 2: memory statistic
*/ */
struct _iunit_debug { struct _iunit_debug {
struct pci_driver *drv; struct device_driver *drv;
struct atomisp_device *isp; struct atomisp_device *isp;
unsigned int dbglvl; unsigned int dbglvl;
unsigned int dbgfun; unsigned int dbgfun;
...@@ -164,26 +164,25 @@ static const struct driver_attribute iunit_drvfs_attrs[] = { ...@@ -164,26 +164,25 @@ static const struct driver_attribute iunit_drvfs_attrs[] = {
__ATTR(dbgopt, 0644, iunit_dbgopt_show, iunit_dbgopt_store), __ATTR(dbgopt, 0644, iunit_dbgopt_show, iunit_dbgopt_store),
}; };
static int iunit_drvfs_create_files(struct pci_driver *drv) static int iunit_drvfs_create_files(struct device_driver *drv)
{ {
int i, ret = 0; int i, ret = 0;
for (i = 0; i < ARRAY_SIZE(iunit_drvfs_attrs); i++) for (i = 0; i < ARRAY_SIZE(iunit_drvfs_attrs); i++)
ret |= driver_create_file(&(drv->driver), ret |= driver_create_file(drv, &iunit_drvfs_attrs[i]);
&iunit_drvfs_attrs[i]);
return ret; return ret;
} }
static void iunit_drvfs_remove_files(struct pci_driver *drv) static void iunit_drvfs_remove_files(struct device_driver *drv)
{ {
int i; int i;
for (i = 0; i < ARRAY_SIZE(iunit_drvfs_attrs); i++) for (i = 0; i < ARRAY_SIZE(iunit_drvfs_attrs); i++)
driver_remove_file(&(drv->driver), &iunit_drvfs_attrs[i]); driver_remove_file(drv, &iunit_drvfs_attrs[i]);
} }
int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device *isp) int atomisp_drvfs_init(struct device_driver *drv, struct atomisp_device *isp)
{ {
int ret; int ret;
...@@ -193,7 +192,7 @@ int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device *isp) ...@@ -193,7 +192,7 @@ int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device *isp)
ret = iunit_drvfs_create_files(iunit_debug.drv); ret = iunit_drvfs_create_files(iunit_debug.drv);
if (ret) { if (ret) {
dev_err(atomisp_dev, "drvfs_create_files error: %d\n", ret); dev_err(atomisp_dev, "drvfs_create_files error: %d\n", ret);
iunit_drvfs_remove_files(drv); iunit_drvfs_remove_files(iunit_debug.drv);
} }
return ret; return ret;
......
...@@ -18,8 +18,7 @@ ...@@ -18,8 +18,7 @@
#ifndef __ATOMISP_DRVFS_H__ #ifndef __ATOMISP_DRVFS_H__
#define __ATOMISP_DRVFS_H__ #define __ATOMISP_DRVFS_H__
extern int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device int atomisp_drvfs_init(struct device_driver *drv, struct atomisp_device *isp);
*isp); void atomisp_drvfs_exit(void);
extern void atomisp_drvfs_exit(void);
#endif /* __ATOMISP_DRVFS_H__ */ #endif /* __ATOMISP_DRVFS_H__ */
...@@ -1152,8 +1152,6 @@ static int init_atomisp_wdts(struct atomisp_device *isp) ...@@ -1152,8 +1152,6 @@ static int init_atomisp_wdts(struct atomisp_device *isp)
return err; return err;
} }
static struct pci_driver atomisp_pci_driver;
#define ATOM_ISP_PCI_BAR 0 #define ATOM_ISP_PCI_BAR 0
static int atomisp_pci_probe(struct pci_dev *dev, static int atomisp_pci_probe(struct pci_dev *dev,
...@@ -1451,7 +1449,7 @@ static int atomisp_pci_probe(struct pci_dev *dev, ...@@ -1451,7 +1449,7 @@ static int atomisp_pci_probe(struct pci_dev *dev,
isp->firmware = NULL; isp->firmware = NULL;
isp->css_env.isp_css_fw.data = NULL; isp->css_env.isp_css_fw.data = NULL;
atomisp_drvfs_init(&atomisp_pci_driver, isp); atomisp_drvfs_init(&dev->driver->driver, isp);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment