From 1fcca7bf53462d8d843b1f824ec6d152def7fd44 Mon Sep 17 00:00:00 2001 From: Fancy Fang Date: Wed, 18 Dec 2013 13:38:23 +0800 Subject: [PATCH] ENGR00292562 PXP: move the definitions used only by PXP device to a new header file Some definitions used only by PXP device driver should not stay in pxp_dma.h which is shared by PXP, EPDC and V4L2. So the patch creates a new header file pxp_device.h to hold these definitions. Signed-off-by: Fancy Fang --- drivers/dma/pxp/pxp_device.c | 7 +---- include/linux/pxp_device.h | 24 +++++++++++++++++ include/uapi/linux/Kbuild | 1 + include/uapi/linux/pxp_device.h | 46 +++++++++++++++++++++++++++++++++ include/uapi/linux/pxp_dma.h | 16 ------------ 5 files changed, 72 insertions(+), 22 deletions(-) create mode 100644 include/linux/pxp_device.h create mode 100644 include/uapi/linux/pxp_device.h diff --git a/drivers/dma/pxp/pxp_device.c b/drivers/dma/pxp/pxp_device.c index 2c28294dc42a..12f8890469ce 100644 --- a/drivers/dma/pxp/pxp_device.c +++ b/drivers/dma/pxp/pxp_device.c @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include @@ -38,11 +38,6 @@ static DEFINE_SPINLOCK(pxp_chan_lock); static LIST_HEAD(head); static LIST_HEAD(list); -struct pxp_chan_handle { - int chan_id; - int hist_status; -}; - /* To track the allocated memory buffer */ struct memalloc_record { struct list_head list; diff --git a/include/linux/pxp_device.h b/include/linux/pxp_device.h new file mode 100644 index 000000000000..34d36bd48413 --- /dev/null +++ b/include/linux/pxp_device.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +#ifndef _PXP_DEVICE +#define _PXP_DEVICE + +#include + +#endif diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 7410c3f99876..3d2682936d06 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -322,6 +322,7 @@ header-y += psci.h header-y += ptp_clock.h header-y += ptrace.h header-y += pxp_dma.h +header-y += pxp_device.h header-y += qnx4_fs.h header-y += qnxtypes.h header-y += quota.h diff --git a/include/uapi/linux/pxp_device.h b/include/uapi/linux/pxp_device.h new file mode 100644 index 000000000000..4af108decfcf --- /dev/null +++ b/include/uapi/linux/pxp_device.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +#ifndef _UAPI_PXP_DEVICE +#define _UAPI_PXP_DEVICE + +#include + +struct pxp_chan_handle { + int chan_id; + int hist_status; +}; + +struct pxp_mem_desc { + unsigned int size; + dma_addr_t phys_addr; + unsigned int cpu_addr; /* cpu address to free the dma mem */ + unsigned int virt_uaddr; /* virtual user space address */ +}; + +#define PXP_IOC_MAGIC 'P' + +#define PXP_IOC_GET_CHAN _IOR(PXP_IOC_MAGIC, 0, struct pxp_mem_desc) +#define PXP_IOC_PUT_CHAN _IOW(PXP_IOC_MAGIC, 1, struct pxp_mem_desc) +#define PXP_IOC_CONFIG_CHAN _IOW(PXP_IOC_MAGIC, 2, struct pxp_mem_desc) +#define PXP_IOC_START_CHAN _IOW(PXP_IOC_MAGIC, 3, struct pxp_mem_desc) +#define PXP_IOC_GET_PHYMEM _IOWR(PXP_IOC_MAGIC, 4, struct pxp_mem_desc) +#define PXP_IOC_PUT_PHYMEM _IOW(PXP_IOC_MAGIC, 5, struct pxp_mem_desc) +#define PXP_IOC_WAIT4CMPLT _IOWR(PXP_IOC_MAGIC, 6, struct pxp_mem_desc) + +#endif diff --git a/include/uapi/linux/pxp_dma.h b/include/uapi/linux/pxp_dma.h index efe6f637ea90..d1f7a89ecd15 100644 --- a/include/uapi/linux/pxp_dma.h +++ b/include/uapi/linux/pxp_dma.h @@ -89,16 +89,6 @@ typedef unsigned char bool; #define NR_PXP_VIRT_CHANNEL 16 -#define PXP_IOC_MAGIC 'P' - -#define PXP_IOC_GET_CHAN _IOR(PXP_IOC_MAGIC, 0, struct pxp_mem_desc) -#define PXP_IOC_PUT_CHAN _IOW(PXP_IOC_MAGIC, 1, struct pxp_mem_desc) -#define PXP_IOC_CONFIG_CHAN _IOW(PXP_IOC_MAGIC, 2, struct pxp_mem_desc) -#define PXP_IOC_START_CHAN _IOW(PXP_IOC_MAGIC, 3, struct pxp_mem_desc) -#define PXP_IOC_GET_PHYMEM _IOWR(PXP_IOC_MAGIC, 4, struct pxp_mem_desc) -#define PXP_IOC_PUT_PHYMEM _IOW(PXP_IOC_MAGIC, 5, struct pxp_mem_desc) -#define PXP_IOC_WAIT4CMPLT _IOWR(PXP_IOC_MAGIC, 6, struct pxp_mem_desc) - /* Order significant! */ enum pxp_channel_status { PXP_CHANNEL_FREE, @@ -179,11 +169,5 @@ struct pxp_config_data { int chan_id; }; -struct pxp_mem_desc { - unsigned int size; - dma_addr_t phys_addr; - unsigned int cpu_addr; /* cpu address to free the dma mem */ - unsigned int virt_uaddr; /* virtual user space address */ -}; #endif -- 2.39.5