]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
v4l: xilinx: scd: Consolidate structure definitions
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 3 Apr 2019 20:01:41 +0000 (13:01 -0700)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 5 Apr 2019 11:05:24 +0000 (13:05 +0200)
Move all driver data structures to the xilinx-scenechange.h header. Turn
the cast macros into static inline function and rename them all to
to_<struct name> for consistency.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Satish Kumar Nagireddy <satish.nagireddy.nagireddy@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
drivers/media/platform/xilinx/xilinx-scenechange-channel.c
drivers/media/platform/xilinx/xilinx-scenechange-dma.c
drivers/media/platform/xilinx/xilinx-scenechange.h

index 7b54cdbbd9e755d723bc474732cc18f9d5f71f8a..d40060ab5321ca2b5dfd234e23bf31d2ad57fd16 100644 (file)
@@ -82,7 +82,7 @@ static int xscd_get_format(struct v4l2_subdev *subdev,
                           struct v4l2_subdev_pad_config *cfg,
                           struct v4l2_subdev_format *fmt)
 {
-       struct xscd_chan *chan = to_chan(subdev);
+       struct xscd_chan *chan = to_xscd_chan(subdev);
 
        fmt->format = *__xscd_get_pad_format(chan, cfg, fmt->pad, fmt->which);
        return 0;
@@ -92,7 +92,7 @@ static int xscd_set_format(struct v4l2_subdev *subdev,
                           struct v4l2_subdev_pad_config *cfg,
                           struct v4l2_subdev_format *fmt)
 {
-       struct xscd_chan *chan = to_chan(subdev);
+       struct xscd_chan *chan = to_xscd_chan(subdev);
        struct v4l2_mbus_framefmt *format;
 
        format = __xscd_get_pad_format(chan, cfg, fmt->pad, fmt->which);
@@ -198,7 +198,7 @@ void xscd_chan_configure_params(struct xscd_chan *chan,
  */
 static int xscd_s_stream(struct v4l2_subdev *subdev, int enable)
 {
-       struct xscd_chan *chan = to_chan(subdev);
+       struct xscd_chan *chan = to_xscd_chan(subdev);
        struct xscd_shared_data *shared_data;
        unsigned long flags;
        u32 chan_offset;
@@ -248,7 +248,7 @@ static int xscd_subscribe_event(struct v4l2_subdev *sd,
                                struct v4l2_event_subscription *sub)
 {
        int ret;
-       struct xscd_chan *chan = to_chan(sd);
+       struct xscd_chan *chan = to_xscd_chan(sd);
 
        mutex_lock(&chan->lock);
 
@@ -270,7 +270,7 @@ static int xscd_unsubscribe_event(struct v4l2_subdev *sd,
                                  struct v4l2_event_subscription *sub)
 {
        int ret;
-       struct xscd_chan *chan = to_chan(sd);
+       struct xscd_chan *chan = to_xscd_chan(sd);
 
        mutex_lock(&chan->lock);
        ret = v4l2_event_unsubscribe(fh, sub);
index 8f59d941e6162e4ed69bf6a88a2881bac2b9e4f0..b4f3b53c5c00b7795cca82f84c7dd3262c6c2d49 100644 (file)
 
 #include "xilinx-scenechange.h"
 
-/**
- * struct xscd_dma_device - Scene Change DMA device
- * @regs: I/O mapped base address
- * @dev: Device Structure
- * @common: DMA device structure
- * @chan: Driver specific DMA channel
- * @numchannels: Total number of channels
- * @memory_based: Memory based or streaming based
- */
-struct xscd_dma_device {
-       void __iomem *regs;
-       struct device *dev;
-       struct dma_device common;
-       struct xscd_dma_chan **chan;
-       u32 numchannels;
-       bool memory_based;
-};
-
 /**
  * xscd_dma_irq_handler - scdma Interrupt handler
  * @irq: IRQ number
@@ -120,8 +102,8 @@ xscd_dma_alloc_tx_descriptor(struct xscd_dma_chan *chan)
  */
 dma_cookie_t xscd_dma_tx_submit(struct dma_async_tx_descriptor *tx)
 {
-       struct xscd_dma_tx_descriptor *desc = to_dma_tx_descriptor(tx);
-       struct xscd_dma_chan *chan = to_xilinx_chan(tx->chan);
+       struct xscd_dma_tx_descriptor *desc = to_xscd_dma_tx_descriptor(tx);
+       struct xscd_dma_chan *chan = to_xscd_dma_chan(tx->chan);
        dma_cookie_t cookie;
        unsigned long flags;
 
@@ -290,7 +272,7 @@ xscd_dma_prep_interleaved(struct dma_chan *dchan,
                          struct dma_interleaved_template *xt,
                          unsigned long flags)
 {
-       struct xscd_dma_chan *chan = to_xilinx_chan(dchan);
+       struct xscd_dma_chan *chan = to_xscd_dma_chan(dchan);
        struct xscd_dma_tx_descriptor *desc;
        struct xscd_dma_desc *sw;
 
@@ -319,7 +301,7 @@ xscd_dma_prep_interleaved(struct dma_chan *dchan,
  */
 static int xscd_dma_terminate_all(struct dma_chan *dchan)
 {
-       struct xscd_dma_chan *chan = to_xilinx_chan(dchan);
+       struct xscd_dma_chan *chan = to_xscd_dma_chan(dchan);
 
        xscd_dma_halt(chan);
        xscd_dma_free_descriptors(chan);
@@ -337,7 +319,7 @@ static int xscd_dma_terminate_all(struct dma_chan *dchan)
  */
 static void xscd_dma_issue_pending(struct dma_chan *dchan)
 {
-       struct xscd_dma_chan *chan = to_xilinx_chan(dchan);
+       struct xscd_dma_chan *chan = to_xscd_dma_chan(dchan);
        struct xscd_dma_device *dev = chan->xdev;
        u32 chan_en = 0, id;
 
@@ -423,7 +405,7 @@ void xscd_dma_reset(struct xscd_dma_chan *chan)
  */
 static void xscd_dma_free_chan_resources(struct dma_chan *dchan)
 {
-       struct xscd_dma_chan *chan = to_xilinx_chan(dchan);
+       struct xscd_dma_chan *chan = to_xscd_dma_chan(dchan);
 
        xscd_dma_free_descriptors(chan);
 }
index b03dc925944c385eb3095ebaafcb4d71e58f5d00..d53595fba4e136eeb8596fe8c0f62f02629ecdad 100644 (file)
 #define XSCD_MAX_CHANNELS              8
 
 /****************************** PROTOTYPES ************************************/
-#define to_xilinx_chan(chan) \
-       container_of(chan, struct xscd_dma_chan, common)
-#define to_dma_tx_descriptor(tx) \
-       container_of(tx, struct xscd_dma_tx_descriptor, async_tx)
 
 /**
  * struct xscd_shared_data - Data to be shared among v4l subdev and DMA engine
@@ -136,6 +132,12 @@ struct xscd_dma_tx_descriptor {
        struct list_head node;
 };
 
+static inline struct xscd_dma_tx_descriptor *
+to_xscd_dma_tx_descriptor(struct dma_async_tx_descriptor *tx)
+{
+       return container_of(tx, struct xscd_dma_tx_descriptor, async_tx);
+}
+
 /**
  * struct xscd_dma_chan - DMA Channel structure
  * @xdev: DMA engine driver specific device structure
@@ -174,6 +176,11 @@ struct xscd_dma_chan {
        bool valid_interrupt;
 };
 
+static inline struct xscd_dma_chan *to_xscd_dma_chan(struct dma_chan *chan)
+{
+       return container_of(chan, struct xscd_dma_chan, common);
+}
+
 /**
  * struct xscd_chan - Video Stream structure
  * @irq: device IRQ
@@ -202,11 +209,29 @@ struct xscd_chan {
        struct mutex lock;
 };
 
-static inline struct xscd_chan *to_chan(struct v4l2_subdev *subdev)
+static inline struct xscd_chan *to_xscd_chan(struct v4l2_subdev *subdev)
 {
        return container_of(subdev, struct xscd_chan, subdev);
 }
 
+/**
+ * struct xscd_dma_device - Scene Change DMA device
+ * @regs: I/O mapped base address
+ * @dev: Device Structure
+ * @common: DMA device structure
+ * @chan: Driver specific DMA channel
+ * @numchannels: Total number of channels
+ * @memory_based: Memory based or streaming based
+ */
+struct xscd_dma_device {
+       void __iomem *regs;
+       struct device *dev;
+       struct dma_device common;
+       struct xscd_dma_chan **chan;
+       u32 numchannels;
+       u8 memory_based;
+};
+
 /*
  * Register related operations
  */