#ifndef __DRM_FB_CMA_HELPER_H__ #define __DRM_FB_CMA_HELPER_H__ struct drm_fbdev_cma; struct drm_gem_cma_object; struct drm_fb_helper_surface_size; struct drm_framebuffer_funcs; struct drm_fb_helper_funcs; struct drm_framebuffer; struct drm_fb_helper; struct drm_device; struct drm_file; struct drm_mode_fb_cmd2; struct drm_plane; struct drm_plane_state; struct drm_fbdev_cma *drm_fbdev_cma_init_with_funcs(struct drm_device *dev, unsigned int preferred_bpp, unsigned int num_crtc, unsigned int max_conn_count, const struct drm_fb_helper_funcs *funcs); struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev, unsigned int preferred_bpp, unsigned int num_crtc, unsigned int max_conn_count); void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma); void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma); void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma); void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, int state); int drm_fbdev_cma_create_with_funcs(struct drm_fb_helper *helper, struct drm_fb_helper_surface_size *sizes, const struct drm_framebuffer_funcs *funcs); void drm_fb_cma_destroy(struct drm_framebuffer *fb); int drm_fb_cma_create_handle(struct drm_framebuffer *fb, struct drm_file *file_priv, unsigned int *handle); struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev, struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd, const struct drm_framebuffer_funcs *funcs); struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev, struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd); struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb, unsigned int plane); int drm_fb_cma_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state); #ifdef CONFIG_DEBUG_FS struct seq_file; int drm_fb_cma_debugfs_show(struct seq_file *m, void *arg); #endif #endif fbbfe7281f127caa408028fe'>treecommitdiff
path: root/tools/perf/builtin-lock.c
l'>
AgeCommit message (Expand)AuthorFilesLines
authorFlorian Fainelli <f.fainelli@gmail.com>2017-02-04 13:02:43 -0800
committerDavid S. Miller <davem@davemloft.net>2017-02-07 10:51:45 -0500
commit71e0bbde0d88047f66b25721f69a441d46083748 (patch)
treee9ecf5d8c0662c3958ca74fa815a142e9cfdf739 /net
parent14b89f36eed2993670906a3991bca496a5ebf1a6 (diff)
net: dsa: Add support for platform data
Allow drivers to use the new DSA API with platform data. Most of the code in net/dsa/dsa2.c does not rely so much on device_nodes and can get the same information from platform_data instead. We purposely do not support distributed configurations with platform data, so drivers should be providing a pointer to a 'struct dsa_chip_data' structure if they wish to communicate per-port layout. Multiple CPUs port could potentially be supported and dsa_chip_data is extended to receive up to one reference to an upstream network device per port described by a dsa_chip_data structure. dsa_dev_to_net_device() increments the network device's reference count, so we intentionally call dev_put() to be consistent with the DT-enabled path, until we have a generic notifier based solution. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/dsa/dsa2.c102
1 files changed, 84 insertions, 18 deletions
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c