1d6c0b56eSmrg/* 2d6c0b56eSmrg * Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org 3d6c0b56eSmrg * 4d6c0b56eSmrg * Permission to use, copy, modify, distribute, and sell this software and its 5d6c0b56eSmrg * documentation for any purpose is hereby granted without fee, provided that 6d6c0b56eSmrg * the above copyright notice appear in all copies and that both that copyright 7d6c0b56eSmrg * notice and this permission notice appear in supporting documentation, and 8d6c0b56eSmrg * that the name of Marc Aurele La France not be used in advertising or 9d6c0b56eSmrg * publicity pertaining to distribution of the software without specific, 10d6c0b56eSmrg * written prior permission. Marc Aurele La France makes no representations 11d6c0b56eSmrg * about the suitability of this software for any purpose. It is provided 12d6c0b56eSmrg * "as-is" without express or implied warranty. 13d6c0b56eSmrg * 14d6c0b56eSmrg * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15d6c0b56eSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO 16d6c0b56eSmrg * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17d6c0b56eSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18d6c0b56eSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19d6c0b56eSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20d6c0b56eSmrg * PERFORMANCE OF THIS SOFTWARE. 21d6c0b56eSmrg */ 22d6c0b56eSmrg 23d6c0b56eSmrg#ifdef HAVE_CONFIG_H 24d6c0b56eSmrg#include "config.h" 25d6c0b56eSmrg#endif 26d6c0b56eSmrg 27d6c0b56eSmrg#include "amdgpu_probe.h" 28d6c0b56eSmrg#include "amdgpu_version.h" 29d6c0b56eSmrg 30d6c0b56eSmrg#include "xf86.h" 31d6c0b56eSmrg 32d6c0b56eSmrg/* Module loader interface for subsidiary driver module */ 33d6c0b56eSmrg 34d6c0b56eSmrgstatic XF86ModuleVersionInfo AMDGPUVersionRec = { 35d6c0b56eSmrg AMDGPU_DRIVER_NAME, 36d6c0b56eSmrg MODULEVENDORSTRING, 37d6c0b56eSmrg MODINFOSTRING1, 38d6c0b56eSmrg MODINFOSTRING2, 39d6c0b56eSmrg XORG_VERSION_CURRENT, 40d6c0b56eSmrg AMDGPU_VERSION_MAJOR, AMDGPU_VERSION_MINOR, AMDGPU_VERSION_PATCH, 41d6c0b56eSmrg ABI_CLASS_VIDEODRV, 42d6c0b56eSmrg ABI_VIDEODRV_VERSION, 43d6c0b56eSmrg MOD_CLASS_VIDEODRV, 44d6c0b56eSmrg {0, 0, 0, 0} 45d6c0b56eSmrg}; 46d6c0b56eSmrg 47d6c0b56eSmrg/* 48d6c0b56eSmrg * AMDGPUSetup -- 49d6c0b56eSmrg * 50d6c0b56eSmrg * This function is called every time the module is loaded. 51d6c0b56eSmrg */ 52d6c0b56eSmrgstatic pointer 53d6c0b56eSmrgAMDGPUSetup(pointer Module, pointer Options, int *ErrorMajor, int *ErrorMinor) 54d6c0b56eSmrg{ 55d6c0b56eSmrg static Bool Inited = FALSE; 56d6c0b56eSmrg 57d6c0b56eSmrg if (!Inited) { 58d6c0b56eSmrg Inited = TRUE; 59d6c0b56eSmrg xf86AddDriver(&AMDGPU, Module, HaveDriverFuncs); 60d6c0b56eSmrg } 61d6c0b56eSmrg 62d6c0b56eSmrg return (pointer) TRUE; 63d6c0b56eSmrg} 64d6c0b56eSmrg 65d6c0b56eSmrg/* The following record must be called amdgpuModuleData */ 66d6c0b56eSmrg_X_EXPORT XF86ModuleData amdgpuModuleData = { 67d6c0b56eSmrg &AMDGPUVersionRec, 68d6c0b56eSmrg AMDGPUSetup, 69d6c0b56eSmrg NULL 70d6c0b56eSmrg}; 71