summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/atmdev.h1
-rw-r--r--include/linux/elf.h1
-rw-r--r--include/linux/ethtool.h1
-rw-r--r--include/linux/omap_gpu.h84
-rw-r--r--include/linux/pci.h7
6 files changed, 91 insertions, 4 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index a63b8001b7e..6df617e4248 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -278,6 +278,7 @@ header-y += nl80211.h
header-y += nubus.h
header-y += nvram.h
header-y += omapfb.h
+header-y += omap_gpu.h
header-y += oom.h
header-y += param.h
header-y += parport.h
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
index 475f8c42c0e..381f4cec826 100644
--- a/include/linux/atmdev.h
+++ b/include/linux/atmdev.h
@@ -443,6 +443,7 @@ void atm_dev_signal_change(struct atm_dev *dev, char signal);
void vcc_insert_socket(struct sock *sk);
+void atm_dev_release_vccs(struct atm_dev *dev);
/*
* This is approximately the algorithm used by alloc_skb.
diff --git a/include/linux/elf.h b/include/linux/elf.h
index 4d608014753..110821cb6ea 100644
--- a/include/linux/elf.h
+++ b/include/linux/elf.h
@@ -395,6 +395,7 @@ typedef struct elf64_shdr {
#define NT_S390_CTRS 0x304 /* s390 control registers */
#define NT_S390_PREFIX 0x305 /* s390 prefix register */
#define NT_S390_LAST_BREAK 0x306 /* s390 breaking event address */
+#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */
/* Note header in a PT_NOTE section */
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index a3c1874171c..a04b6cee1cb 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -591,6 +591,7 @@ int ethtool_op_set_ufo(struct net_device *dev, u32 data);
u32 ethtool_op_get_flags(struct net_device *dev);
int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported);
void ethtool_ntuple_flush(struct net_device *dev);
+bool ethtool_invalid_flags(struct net_device *dev, u32 data, u32 supported);
/**
* &ethtool_ops - Alter and report network device settings
diff --git a/include/linux/omap_gpu.h b/include/linux/omap_gpu.h
new file mode 100644
index 00000000000..38998698780
--- /dev/null
+++ b/include/linux/omap_gpu.h
@@ -0,0 +1,84 @@
+/*
+ * linux/include/linux/omap_gpu.h
+ *
+ * Copyright (C) 2011 Texas Instruments
+ * Author: Rob Clark <rob@ti.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __OMAP_GPU_H__
+#define __OMAP_GPU_H__
+
+#include <linux/module.h>
+#include <drm/drmP.h>
+
+/* interface that plug-in drivers (for now just PVR) can implement */
+struct omap_gpu_plugin {
+ const char *name;
+
+ /* drm functions */
+ int (*open)(struct drm_device *dev, struct drm_file *file);
+ int (*load)(struct drm_device *dev, unsigned long flags);
+ int (*unload)(struct drm_device *dev);
+ int (*release)(struct drm_device *dev, struct drm_file *file);
+
+ /* file-ops */
+ int (*mmap)(struct file *file, struct vm_area_struct *vma);
+
+ struct drm_ioctl_desc *ioctls;
+ int num_ioctls;
+ int ioctl_start;
+
+ struct list_head list; /* note, this means struct can't be const.. */
+};
+
+int omap_gpu_register_plugin(struct omap_gpu_plugin *plugin);
+int omap_gpu_unregister_plugin(struct omap_gpu_plugin *plugin);
+struct fb_info * omap_gpu_get_fbdev(struct drm_device *dev);
+
+enum omap_dss_update_mode omap_connector_get_update_mode(
+ struct drm_connector *connector);
+int omap_connector_set_update_mode(struct drm_connector *connector,
+ enum omap_dss_update_mode mode);
+int omap_connector_sync(struct drm_connector *connector);
+
+int omap_encoder_wait_for_vsync(struct drm_encoder *encoder);
+
+struct drm_connector * omap_fbdev_get_next_connector(
+ struct fb_info *fbi, struct drm_connector *from);
+void omap_fbdev_flush(struct fb_info *fbi, int x, int y, int w, int h);
+
+struct drm_connector * omap_framebuffer_get_next_connector(
+ struct drm_framebuffer *fb, struct drm_connector *from);
+void omap_framebuffer_flush(struct drm_framebuffer *fb,
+ int x, int y, int w, int h);
+
+
+/* optional platform data to configure the default configuration of which
+ * pipes/overlays/CRTCs are used.. if this is not provided, then instead the
+ * first CONFIG_DRM_OMAP_NUM_CRTCS are used, and they are each connected to
+ * one manager, with priority given to managers that are connected to
+ * detected devices. This should be a good default behavior for most cases,
+ * but yet there still might be times when you wish to do something different.
+ */
+struct omap_gpu_platform_data {
+ int ovl_cnt;
+ const int *ovl_ids;
+ int mgr_cnt;
+ const int *mgr_ids;
+ int dev_cnt;
+ const char **dev_names;
+};
+
+#endif /* __OMAP_GPU_H__ */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 559d0289707..6002bcade08 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1002,12 +1002,11 @@ extern bool pcie_ports_auto;
#endif
#ifndef CONFIG_PCIEASPM
-static inline int pcie_aspm_enabled(void)
-{
- return 0;
-}
+static inline int pcie_aspm_enabled(void) { return 0; }
+static inline bool pcie_aspm_support_enabled(void) { return false; }
#else
extern int pcie_aspm_enabled(void);
+extern bool pcie_aspm_support_enabled(void);
#endif
#ifdef CONFIG_PCIEAER