xfree86: common: move non-public defs out of xf86platformBus.h
public server module API headers shouldn't be clobbered with non-exported definitions, so move them out to private header file. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
f384ab9100
commit
a76ea05bbc
|
@ -89,7 +89,7 @@
|
|||
#include "dpmsproc.h"
|
||||
#endif
|
||||
|
||||
#include "xf86platformBus.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
#include "systemd-logind.h"
|
||||
|
||||
extern void (*xf86OSPMClose) (void);
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#include "xf86Xinput.h"
|
||||
#include "xf86Optrec.h"
|
||||
#include "xf86Parser.h"
|
||||
#include "xf86platformBus.h" /* For OutputClass functions */
|
||||
#include "xf86platformBus_priv.h"
|
||||
#include "optionstr.h"
|
||||
|
||||
static Bool ParseOptionValue(int scrnIndex, XF86OptionPtr options,
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
|
||||
/* Bus-specific headers */
|
||||
#include "xf86Bus.h"
|
||||
#include "xf86sbusBus_priv.h"
|
||||
|
||||
#include "xf86_OSproc.h"
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#define _XF86_PCI_BUS_H
|
||||
|
||||
#include "xf86MatchDrivers.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
|
||||
void xf86PciProbe(void);
|
||||
Bool xf86PciAddMatchingDev(DriverPtr drvp);
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
#include "xf86str.h"
|
||||
#include "xf86Bus.h"
|
||||
#include "Pci.h"
|
||||
#include "xf86platformBus.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
#include "xf86Config.h"
|
||||
#include "xf86Crtc.h"
|
||||
|
||||
|
|
|
@ -34,139 +34,10 @@ struct xf86_platform_device {
|
|||
int flags;
|
||||
};
|
||||
|
||||
/* xf86_platform_device flags */
|
||||
#define XF86_PDEV_UNOWNED 0x01
|
||||
#define XF86_PDEV_SERVER_FD 0x02
|
||||
#define XF86_PDEV_PAUSED 0x04
|
||||
|
||||
#ifdef XSERVER_PLATFORM_BUS
|
||||
int xf86platformProbe(void);
|
||||
int xf86platformProbeDev(DriverPtr drvp);
|
||||
int xf86platformAddGPUDevices(DriverPtr drvp);
|
||||
void xf86MergeOutputClassOptions(int entityIndex, void **options);
|
||||
void xf86PlatformScanPciDev(void);
|
||||
const char *xf86PlatformFindHotplugDriver(int dev_index);
|
||||
|
||||
extern int xf86_num_platform_devices;
|
||||
extern struct xf86_platform_device *xf86_platform_devices;
|
||||
|
||||
extern int
|
||||
xf86_add_platform_device(struct OdevAttributes *attribs, Bool unowned);
|
||||
extern int
|
||||
xf86_remove_platform_device(int dev_index);
|
||||
extern Bool
|
||||
xf86_get_platform_device_unowned(int index);
|
||||
|
||||
extern int
|
||||
xf86platformAddDevice(const char *driver_name, int index);
|
||||
extern void
|
||||
xf86platformRemoveDevice(int index);
|
||||
|
||||
static inline struct OdevAttributes *
|
||||
xf86_platform_device_odev_attributes(struct xf86_platform_device *device)
|
||||
{
|
||||
return device->attribs;
|
||||
}
|
||||
|
||||
static inline struct OdevAttributes *
|
||||
xf86_platform_odev_attributes(int index)
|
||||
{
|
||||
struct xf86_platform_device *device = &xf86_platform_devices[index];
|
||||
|
||||
return device->attribs;
|
||||
}
|
||||
|
||||
#ifndef _XORG_CONFIG_H_
|
||||
/*
|
||||
* Define the legacy API only for external builds
|
||||
*/
|
||||
|
||||
/* path to kernel device node - Linux e.g. /dev/dri/card0 */
|
||||
#define ODEV_ATTRIB_PATH 1
|
||||
/* system device path - Linux e.g. /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1 */
|
||||
#define ODEV_ATTRIB_SYSPATH 2
|
||||
/* DRI-style bus id */
|
||||
#define ODEV_ATTRIB_BUSID 3
|
||||
/* Server managed FD */
|
||||
#define ODEV_ATTRIB_FD 4
|
||||
/* Major number of the device node pointed to by ODEV_ATTRIB_PATH */
|
||||
#define ODEV_ATTRIB_MAJOR 5
|
||||
/* Minor number of the device node pointed to by ODEV_ATTRIB_PATH */
|
||||
#define ODEV_ATTRIB_MINOR 6
|
||||
/* kernel driver name */
|
||||
#define ODEV_ATTRIB_DRIVER 7
|
||||
|
||||
/* Protect against a mismatch attribute type by generating a compiler
|
||||
* error using a negative array size when an incorrect attribute is
|
||||
* passed
|
||||
*/
|
||||
|
||||
#define _ODEV_ATTRIB_IS_STRING(x) ((x) == ODEV_ATTRIB_PATH || \
|
||||
(x) == ODEV_ATTRIB_SYSPATH || \
|
||||
(x) == ODEV_ATTRIB_BUSID || \
|
||||
(x) == ODEV_ATTRIB_DRIVER)
|
||||
|
||||
#define _ODEV_ATTRIB_STRING_CHECK(x) ((int (*)[_ODEV_ATTRIB_IS_STRING(x)-1]) 0)
|
||||
|
||||
static inline char *
|
||||
_xf86_get_platform_device_attrib(struct xf86_platform_device *device, int attrib, int (*fake)[0])
|
||||
{
|
||||
switch (attrib) {
|
||||
case ODEV_ATTRIB_PATH:
|
||||
return xf86_platform_device_odev_attributes(device)->path;
|
||||
case ODEV_ATTRIB_SYSPATH:
|
||||
return xf86_platform_device_odev_attributes(device)->syspath;
|
||||
case ODEV_ATTRIB_BUSID:
|
||||
return xf86_platform_device_odev_attributes(device)->busid;
|
||||
case ODEV_ATTRIB_DRIVER:
|
||||
return xf86_platform_device_odev_attributes(device)->driver;
|
||||
default:
|
||||
assert(FALSE);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#define xf86_get_platform_device_attrib(device, attrib) _xf86_get_platform_device_attrib(device,attrib,_ODEV_ATTRIB_STRING_CHECK(attrib))
|
||||
|
||||
#define _ODEV_ATTRIB_IS_INT(x) ((x) == ODEV_ATTRIB_FD || (x) == ODEV_ATTRIB_MAJOR || (x) == ODEV_ATTRIB_MINOR)
|
||||
#define _ODEV_ATTRIB_INT_DEFAULT(x) ((x) == ODEV_ATTRIB_FD ? -1 : 0)
|
||||
#define _ODEV_ATTRIB_DEFAULT_CHECK(x,def) (_ODEV_ATTRIB_INT_DEFAULT(x) == (def))
|
||||
#define _ODEV_ATTRIB_INT_CHECK(x,def) ((int (*)[_ODEV_ATTRIB_IS_INT(x)*_ODEV_ATTRIB_DEFAULT_CHECK(x,def)-1]) 0)
|
||||
|
||||
static inline int
|
||||
_xf86_get_platform_device_int_attrib(struct xf86_platform_device *device, int attrib, int (*fake)[0])
|
||||
{
|
||||
switch (attrib) {
|
||||
case ODEV_ATTRIB_FD:
|
||||
return xf86_platform_device_odev_attributes(device)->fd;
|
||||
case ODEV_ATTRIB_MAJOR:
|
||||
return xf86_platform_device_odev_attributes(device)->major;
|
||||
case ODEV_ATTRIB_MINOR:
|
||||
return xf86_platform_device_odev_attributes(device)->minor;
|
||||
default:
|
||||
assert(FALSE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#define xf86_get_platform_device_int_attrib(device, attrib, def) _xf86_get_platform_device_int_attrib(device,attrib,_ODEV_ATTRIB_INT_CHECK(attrib,def))
|
||||
|
||||
#endif
|
||||
|
||||
extern _X_EXPORT Bool
|
||||
xf86PlatformDeviceCheckBusID(struct xf86_platform_device *device, const char *busid);
|
||||
|
||||
extern _X_EXPORT void
|
||||
xf86PlatformMatchDriver(XF86MatchedDrivers *);
|
||||
|
||||
extern void xf86platformVTProbe(void);
|
||||
extern void xf86platformPrimary(void);
|
||||
|
||||
#else
|
||||
|
||||
static inline int xf86platformAddGPUDevices(DriverPtr drvp) { return FALSE; }
|
||||
static inline void xf86MergeOutputClassOptions(int index, void **options) {}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
/* SPDX-License-Identifier: MIT OR X11
|
||||
*
|
||||
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
|
||||
* Copyright © 2012 Red Hat.
|
||||
*/
|
||||
#ifndef _XSERVER_XF86_PLATFORM_BUS_PRIV_H_
|
||||
#define _XSERVER_XF86_PLATFORM_BUS_PRIV_H_
|
||||
|
||||
#include <X11/Xdefs.h>
|
||||
|
||||
#include "xf86platformBus.h"
|
||||
|
||||
/* xf86_platform_device flags */
|
||||
#define XF86_PDEV_UNOWNED 0x01
|
||||
#define XF86_PDEV_SERVER_FD 0x02
|
||||
#define XF86_PDEV_PAUSED 0x04
|
||||
|
||||
#ifdef XSERVER_PLATFORM_BUS
|
||||
int xf86platformProbe(void);
|
||||
int xf86platformProbeDev(DriverPtr drvp);
|
||||
int xf86platformAddGPUDevices(DriverPtr drvp);
|
||||
void xf86MergeOutputClassOptions(int entityIndex, void **options);
|
||||
void xf86PlatformScanPciDev(void);
|
||||
const char *xf86PlatformFindHotplugDriver(int dev_index);
|
||||
|
||||
extern int xf86_num_platform_devices;
|
||||
extern struct xf86_platform_device *xf86_platform_devices;
|
||||
|
||||
int xf86_add_platform_device(struct OdevAttributes *attribs, Bool unowned);
|
||||
int xf86_remove_platform_device(int dev_index);
|
||||
Bool xf86_get_platform_device_unowned(int index);
|
||||
|
||||
int xf86platformAddDevice(const char *driver_name, int index);
|
||||
void xf86platformRemoveDevice(int index);
|
||||
|
||||
static inline struct OdevAttributes *
|
||||
xf86_platform_device_odev_attributes(struct xf86_platform_device *device)
|
||||
{
|
||||
return device->attribs;
|
||||
}
|
||||
|
||||
static inline struct OdevAttributes *
|
||||
xf86_platform_odev_attributes(int index)
|
||||
{
|
||||
struct xf86_platform_device *device = &xf86_platform_devices[index];
|
||||
|
||||
return device->attribs;
|
||||
}
|
||||
|
||||
#ifndef _XORG_CONFIG_H_
|
||||
/*
|
||||
* Define the legacy API only for external builds
|
||||
*/
|
||||
|
||||
/* path to kernel device node - Linux e.g. /dev/dri/card0 */
|
||||
#define ODEV_ATTRIB_PATH 1
|
||||
/* system device path - Linux e.g. /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1 */
|
||||
#define ODEV_ATTRIB_SYSPATH 2
|
||||
/* DRI-style bus id */
|
||||
#define ODEV_ATTRIB_BUSID 3
|
||||
/* Server managed FD */
|
||||
#define ODEV_ATTRIB_FD 4
|
||||
/* Major number of the device node pointed to by ODEV_ATTRIB_PATH */
|
||||
#define ODEV_ATTRIB_MAJOR 5
|
||||
/* Minor number of the device node pointed to by ODEV_ATTRIB_PATH */
|
||||
#define ODEV_ATTRIB_MINOR 6
|
||||
/* kernel driver name */
|
||||
#define ODEV_ATTRIB_DRIVER 7
|
||||
|
||||
/* Protect against a mismatch attribute type by generating a compiler
|
||||
* error using a negative array size when an incorrect attribute is
|
||||
* passed
|
||||
*/
|
||||
|
||||
#define _ODEV_ATTRIB_IS_STRING(x) ((x) == ODEV_ATTRIB_PATH || \
|
||||
(x) == ODEV_ATTRIB_SYSPATH || \
|
||||
(x) == ODEV_ATTRIB_BUSID || \
|
||||
(x) == ODEV_ATTRIB_DRIVER)
|
||||
|
||||
#define _ODEV_ATTRIB_STRING_CHECK(x) ((int (*)[_ODEV_ATTRIB_IS_STRING(x)-1]) 0)
|
||||
|
||||
static inline char *
|
||||
_xf86_get_platform_device_attrib(struct xf86_platform_device *device, int attrib, int (*fake)[0])
|
||||
{
|
||||
switch (attrib) {
|
||||
case ODEV_ATTRIB_PATH:
|
||||
return xf86_platform_device_odev_attributes(device)->path;
|
||||
case ODEV_ATTRIB_SYSPATH:
|
||||
return xf86_platform_device_odev_attributes(device)->syspath;
|
||||
case ODEV_ATTRIB_BUSID:
|
||||
return xf86_platform_device_odev_attributes(device)->busid;
|
||||
case ODEV_ATTRIB_DRIVER:
|
||||
return xf86_platform_device_odev_attributes(device)->driver;
|
||||
default:
|
||||
assert(FALSE);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#define xf86_get_platform_device_attrib(device, attrib) _xf86_get_platform_device_attrib(device,attrib,_ODEV_ATTRIB_STRING_CHECK(attrib))
|
||||
|
||||
#define _ODEV_ATTRIB_IS_INT(x) ((x) == ODEV_ATTRIB_FD || (x) == ODEV_ATTRIB_MAJOR || (x) == ODEV_ATTRIB_MINOR)
|
||||
#define _ODEV_ATTRIB_INT_DEFAULT(x) ((x) == ODEV_ATTRIB_FD ? -1 : 0)
|
||||
#define _ODEV_ATTRIB_DEFAULT_CHECK(x,def) (_ODEV_ATTRIB_INT_DEFAULT(x) == (def))
|
||||
#define _ODEV_ATTRIB_INT_CHECK(x,def) ((int (*)[_ODEV_ATTRIB_IS_INT(x)*_ODEV_ATTRIB_DEFAULT_CHECK(x,def)-1]) 0)
|
||||
|
||||
static inline int
|
||||
_xf86_get_platform_device_int_attrib(struct xf86_platform_device *device, int attrib, int (*fake)[0])
|
||||
{
|
||||
switch (attrib) {
|
||||
case ODEV_ATTRIB_FD:
|
||||
return xf86_platform_device_odev_attributes(device)->fd;
|
||||
case ODEV_ATTRIB_MAJOR:
|
||||
return xf86_platform_device_odev_attributes(device)->major;
|
||||
case ODEV_ATTRIB_MINOR:
|
||||
return xf86_platform_device_odev_attributes(device)->minor;
|
||||
default:
|
||||
assert(FALSE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#define xf86_get_platform_device_int_attrib(device, attrib, def) _xf86_get_platform_device_int_attrib(device,attrib,_ODEV_ATTRIB_INT_CHECK(attrib,def))
|
||||
|
||||
#endif /* _XORG_CONFIG_H_ */
|
||||
|
||||
extern void xf86platformVTProbe(void);
|
||||
extern void xf86platformPrimary(void);
|
||||
|
||||
#else /* XSERVER_PLATFORM_BUS */
|
||||
|
||||
static inline int xf86platformAddGPUDevices(DriverPtr drvp) { return FALSE; }
|
||||
static inline void xf86MergeOutputClassOptions(int index, void **options) {}
|
||||
|
||||
#endif /* XSERVER_PLATFORM_BUS */
|
||||
|
||||
#endif /* _XSERVER_XF86_PLATFORM_BUS_PRIV_H_ */
|
|
@ -67,6 +67,7 @@
|
|||
#include <pciaccess.h>
|
||||
#endif
|
||||
#include "driver.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
|
||||
static void AdjustFrame(ScrnInfoPtr pScrn, int x, int y);
|
||||
static Bool CloseScreen(ScreenPtr pScreen);
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#include "os.h"
|
||||
#include "linux.h"
|
||||
#include "xf86.h"
|
||||
#include "xf86platformBus.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
#include "xf86Xinput_priv.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "globals.h"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
#include "xf86.h"
|
||||
#include "xf86_os_support.h"
|
||||
#include "xf86platformBus.h"
|
||||
#include "xf86platformBus_priv.h"
|
||||
#include "xf86Bus.h"
|
||||
|
||||
#include "hotplug.h"
|
||||
|
|
Loading…
Reference in New Issue