diff options
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2')
10 files changed, 35 insertions, 42 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.c index 7129b88456cb..ceedb82b6beb 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.c @@ -15,9 +15,9 @@ * */ +#include <linux/device.h> #include <linux/err.h> #include <linux/kernel.h> -#include <linux/pci.h> #include "atomisp_compat.h" #include "atomisp_internal.h" @@ -33,7 +33,7 @@ * bit 2: memory statistic */ struct _iunit_debug { - struct pci_driver *drv; + struct device_driver *drv; struct atomisp_device *isp; unsigned int dbglvl; unsigned int dbgfun; @@ -164,26 +164,25 @@ static const struct driver_attribute iunit_drvfs_attrs[] = { __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; for (i = 0; i < ARRAY_SIZE(iunit_drvfs_attrs); i++) - ret |= driver_create_file(&(drv->driver), - &iunit_drvfs_attrs[i]); + ret |= driver_create_file(drv, &iunit_drvfs_attrs[i]); return ret; } -static void iunit_drvfs_remove_files(struct pci_driver *drv) +static void iunit_drvfs_remove_files(struct device_driver *drv) { int 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; @@ -193,7 +192,7 @@ int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device *isp) ret = iunit_drvfs_create_files(iunit_debug.drv); if (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; diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.h b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.h index b91bfef21639..7c99240d107a 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.h +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_drvfs.h @@ -18,8 +18,7 @@ #ifndef __ATOMISP_DRVFS_H__ #define __ATOMISP_DRVFS_H__ -extern int atomisp_drvfs_init(struct pci_driver *drv, struct atomisp_device - *isp); -extern void atomisp_drvfs_exit(void); +int atomisp_drvfs_init(struct device_driver *drv, struct atomisp_device *isp); +void atomisp_drvfs_exit(void); #endif /* __ATOMISP_DRVFS_H__ */ diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_internal.h b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_internal.h index 52a6f8002048..dc476a3dd271 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_internal.h +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_internal.h @@ -227,7 +227,6 @@ struct atomisp_device { struct media_device media_dev; struct atomisp_platform_data *pdata; void *mmu_l1_base; - struct pci_dev *pci_root; const struct firmware *firmware; struct pm_qos_request pm_qos; diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c index 339b5d31e1f1..5c84dd63778e 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c @@ -501,7 +501,9 @@ const struct atomisp_format_bridge atomisp_output_fmts[] = { .mbus_code = MEDIA_BUS_FMT_JPEG_1X8, .sh_fmt = CSS_FRAME_FORMAT_BINARY_8, .description = "JPEG" - }, { + }, +#if 0 + { /* This is a custom format being used by M10MO to send the RAW data */ .pixelformat = V4L2_PIX_FMT_CUSTOM_M10MO_RAW, .depth = 8, @@ -509,6 +511,7 @@ const struct atomisp_format_bridge atomisp_output_fmts[] = { .sh_fmt = CSS_FRAME_FORMAT_BINARY_8, .description = "Custom RAW for M10MO" }, +#endif }; const struct atomisp_format_bridge *atomisp_get_format_bridge( diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_subdev.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_subdev.c index 70b53988553c..f3e18d627b0a 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_subdev.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_subdev.c @@ -48,7 +48,9 @@ const struct atomisp_in_fmt_conv atomisp_in_fmt_conv[] = { { V4L2_MBUS_FMT_CUSTOM_NV12, 12, 12, CSS_FRAME_FORMAT_NV12, 0, CSS_FRAME_FORMAT_NV12 }, { V4L2_MBUS_FMT_CUSTOM_NV21, 12, 12, CSS_FRAME_FORMAT_NV21, 0, CSS_FRAME_FORMAT_NV21 }, { V4L2_MBUS_FMT_CUSTOM_YUV420, 12, 12, ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY, 0, IA_CSS_STREAM_FORMAT_YUV420_8_LEGACY }, +#if 0 { V4L2_MBUS_FMT_CUSTOM_M10MO_RAW, 8, 8, CSS_FRAME_FORMAT_BINARY_8, 0, IA_CSS_STREAM_FORMAT_BINARY_8 }, +#endif /* no valid V4L2 MBUS code for metadata format, so leave it 0. */ { 0, 0, 0, ATOMISP_INPUT_FORMAT_EMBEDDED, 0, IA_CSS_STREAM_FORMAT_EMBEDDED }, {} diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c index 3c260f8b52e2..548e00e7d67b 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c @@ -1152,8 +1152,6 @@ alloc_fail: return err; } -static struct pci_driver atomisp_pci_driver; - #define ATOM_ISP_PCI_BAR 0 static int atomisp_pci_probe(struct pci_dev *dev, @@ -1212,11 +1210,6 @@ static int atomisp_pci_probe(struct pci_dev *dev, isp->pdev = dev; isp->dev = &dev->dev; isp->sw_contex.power_state = ATOM_ISP_POWER_UP; - isp->pci_root = pci_get_bus_and_slot(0, 0); - if (!isp->pci_root) { - dev_err(&dev->dev, "Unable to find PCI host\n"); - return -ENODEV; - } isp->saved_regs.ispmmadr = start; rt_mutex_init(&isp->mutex); @@ -1451,7 +1444,7 @@ static int atomisp_pci_probe(struct pci_dev *dev, isp->firmware = 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; @@ -1496,7 +1489,6 @@ load_fw_fail: /* Address later when we worry about the ...field chips */ if (IS_ENABLED(CONFIG_PM) && atomisp_mrfld_power_down(isp)) dev_err(&dev->dev, "Failed to switch off ISP\n"); - pci_dev_put(isp->pci_root); return err; } @@ -1517,8 +1509,6 @@ static void atomisp_pci_remove(struct pci_dev *dev) pm_qos_remove_request(&isp->pm_qos); atomisp_msi_irq_uninit(isp, dev); - pci_dev_put(isp->pci_root); - atomisp_unregister_entities(isp); destroy_workqueue(isp->wdt_work_queue); diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8/ia_css_eed1_8.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8/ia_css_eed1_8.host.c index 682f8b709ff9..47bb5042381b 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8/ia_css_eed1_8.host.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8/ia_css_eed1_8.host.c @@ -32,44 +32,44 @@ #define NUMBER_OF_TCINV_POINTS 9 #define NUMBER_OF_FCINV_POINTS 9 -const int16_t chgrinv_x[NUMBER_OF_CHGRINV_POINTS] = { +static const int16_t chgrinv_x[NUMBER_OF_CHGRINV_POINTS] = { 0, 16, 64, 144, 272, 448, 672, 976, 1376, 1888, 2528, 3312, 4256, 5376, 6688}; -const int16_t chgrinv_a[NUMBER_OF_CHGRINV_POINTS] = { +static const int16_t chgrinv_a[NUMBER_OF_CHGRINV_POINTS] = { -7171, -256, -29, -3456, -1071, -475, -189, -102, -48, -38, -10, -9, -7, -6, 0}; -const int16_t chgrinv_b[NUMBER_OF_CHGRINV_POINTS] = { +static const int16_t chgrinv_b[NUMBER_OF_CHGRINV_POINTS] = { 8191, 1021, 256, 114, 60, 37, 24, 17, 12, 9, 6, 5, 4, 3, 2}; -const int16_t chgrinv_c[NUMBER_OF_CHGRINV_POINTS] = { +static const int16_t chgrinv_c[NUMBER_OF_CHGRINV_POINTS] = { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -const int16_t tcinv_x[NUMBER_OF_TCINV_POINTS] = { +static const int16_t tcinv_x[NUMBER_OF_TCINV_POINTS] = { 0, 4, 11, 23, 42, 68, 102, 148, 205}; -const int16_t tcinv_a[NUMBER_OF_TCINV_POINTS] = { +static const int16_t tcinv_a[NUMBER_OF_TCINV_POINTS] = { -6364, -631, -126, -34, -13, -6, -4452, -2156, 0}; -const int16_t tcinv_b[NUMBER_OF_TCINV_POINTS] = { +static const int16_t tcinv_b[NUMBER_OF_TCINV_POINTS] = { 8191, 1828, 726, 352, 197, 121, 80, 55, 40}; -const int16_t tcinv_c[NUMBER_OF_TCINV_POINTS] = { +static const int16_t tcinv_c[NUMBER_OF_TCINV_POINTS] = { 1, 1, 1, 1, 1, 1, 0, 0, 0}; -const int16_t fcinv_x[NUMBER_OF_FCINV_POINTS] = { +static const int16_t fcinv_x[NUMBER_OF_FCINV_POINTS] = { 0, 80, 216, 456, 824, 1344, 2040, 2952, 4096}; -const int16_t fcinv_a[NUMBER_OF_FCINV_POINTS] = { +static const int16_t fcinv_a[NUMBER_OF_FCINV_POINTS] = { -5244, -486, -86, -2849, -961, -400, -180, -86, 0}; -const int16_t fcinv_b[NUMBER_OF_FCINV_POINTS] = { +static const int16_t fcinv_b[NUMBER_OF_FCINV_POINTS] = { 8191, 1637, 607, 287, 159, 98, 64, 44, 32}; -const int16_t fcinv_c[NUMBER_OF_FCINV_POINTS] = { +static const int16_t fcinv_c[NUMBER_OF_FCINV_POINTS] = { 1, 1, 1, 0, 0, 0, 0, 0, 0}; diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/src/ia_css_debug.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/src/ia_css_debug.c index dd1127a21494..f22d73b56bc6 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/src/ia_css_debug.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/src/ia_css_debug.c @@ -2567,6 +2567,7 @@ ia_css_debug_mode_enable_dma_channel(int dma_id, return rc; } +static void dtrace_dot(const char *fmt, ...) { va_list ap; diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/interface/ia_css_isp_param_types.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/interface/ia_css_isp_param_types.h index 2283dd1c1c9b..fa3f09347b22 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/interface/ia_css_isp_param_types.h +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/interface/ia_css_isp_param_types.h @@ -95,7 +95,7 @@ union ia_css_all_memory_offsets { }; #define IA_CSS_DEFAULT_ISP_MEM_PARAMS \ - { { { { 0, 0 } } } } + { { { { NULL, 0 } } } } #define IA_CSS_DEFAULT_ISP_CSS_PARAMS \ { { { { 0, 0 } } } } diff --git a/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c b/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c index a1c81c12718c..4338b8a1309f 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c @@ -158,10 +158,10 @@ static ssize_t dynamic_pool_show(struct device *dev, return ret; }; -static DEVICE_ATTR(active_bo, 0444, active_bo_show, NULL); -static DEVICE_ATTR(free_bo, 0444, free_bo_show, NULL); -static DEVICE_ATTR(reserved_pool, 0444, reserved_pool_show, NULL); -static DEVICE_ATTR(dynamic_pool, 0444, dynamic_pool_show, NULL); +static DEVICE_ATTR_RO(active_bo); +static DEVICE_ATTR_RO(free_bo); +static DEVICE_ATTR_RO(reserved_pool); +static DEVICE_ATTR_RO(dynamic_pool); static struct attribute *sysfs_attrs_ctrl[] = { &dev_attr_active_bo.attr, |