media: media.h: remove __NEED_MEDIA_LEGACY_API

The __NEED_MEDIA_LEGACY_API define is 1) ugly and 2) dangerous
since it is all too easy for drivers to define it to get hold of
legacy defines. Instead just define what we need in media-device.c
which is the only place where we need the legacy define
(MEDIA_ENT_T_DEVNODE_UNKNOWN).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Hans Verkuil 2018-06-15 09:19:46 -04:00 committed by Mauro Carvalho Chehab
parent 00af4635a1
commit e1a98c163e
2 changed files with 11 additions and 4 deletions

View file

@ -16,9 +16,6 @@
* GNU General Public License for more details.
*/
/* We need to access legacy defines from linux/media.h */
#define __NEED_MEDIA_LEGACY_API
#include <linux/compat.h>
#include <linux/export.h>
#include <linux/idr.h>
@ -35,6 +32,16 @@
#ifdef CONFIG_MEDIA_CONTROLLER
/*
* Legacy defines from linux/media.h. This is the only place we need this
* so we just define it here. The media.h header doesn't expose it to the
* kernel to prevent it from being used by drivers, but here (and only here!)
* we need it to handle the legacy behavior.
*/
#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
#define MEDIA_ENT_T_DEVNODE_UNKNOWN (MEDIA_ENT_F_OLD_BASE | \
MEDIA_ENT_SUBTYPE_MASK)
/* -----------------------------------------------------------------------------
* Userspace API
*/

View file

@ -348,7 +348,7 @@ struct media_v2_topology {
#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
#if !defined(__KERNEL__) || defined(__NEED_MEDIA_LEGACY_API)
#ifndef __KERNEL__
/*
* Legacy symbols used to avoid userspace compilation breakages.