Branch data Line data Source code
1 : : /* 2 : : * Copyright © 2016 Intel Corporation 3 : : * 4 : : * Permission is hereby granted, free of charge, to any person obtaining a 5 : : * copy of this software and associated documentation files (the "Software"), 6 : : * to deal in the Software without restriction, including without limitation 7 : : * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 : : * and/or sell copies of the Software, and to permit persons to whom the 9 : : * Software is furnished to do so, subject to the following conditions: 10 : : * 11 : : * The above copyright notice and this permission notice shall be included in 12 : : * all copies or substantial portions of the Software. 13 : : * 14 : : * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 : : * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 : : * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 : : * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 : : * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 : : * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 : : * OTHER DEALINGS IN THE SOFTWARE. 21 : : */ 22 : : 23 : : /* 24 : : * This header file contains mode setting related functions and definitions 25 : : * which are only used within the drm kms helper module as internal 26 : : * implementation details and are not exported to drivers. 27 : : */ 28 : : 29 : : #include <drm/drm_connector.h> 30 : : #include <drm/drm_crtc.h> 31 : : #include <drm/drm_dp_helper.h> 32 : : #include <drm/drm_encoder.h> 33 : : #include <drm/drm_modes.h> 34 : : 35 : : /* drm_fb_helper.c */ 36 : : #ifdef CONFIG_DRM_FBDEV_EMULATION 37 : : int drm_fb_helper_modinit(void); 38 : : #else 39 : : static inline int drm_fb_helper_modinit(void) 40 : : { 41 : : return 0; 42 : : } 43 : : #endif 44 : : 45 : : /* drm_dp_aux_dev.c */ 46 : : #ifdef CONFIG_DRM_DP_AUX_CHARDEV 47 : : int drm_dp_aux_dev_init(void); 48 : : void drm_dp_aux_dev_exit(void); 49 : : int drm_dp_aux_register_devnode(struct drm_dp_aux *aux); 50 : : void drm_dp_aux_unregister_devnode(struct drm_dp_aux *aux); 51 : : #else 52 : : static inline int drm_dp_aux_dev_init(void) 53 : : { 54 : : return 0; 55 : : } 56 : : 57 : 0 : static inline void drm_dp_aux_dev_exit(void) 58 : : { 59 : 0 : } 60 : : 61 : 0 : static inline int drm_dp_aux_register_devnode(struct drm_dp_aux *aux) 62 : : { 63 : 0 : return 0; 64 : : } 65 : : 66 : 0 : static inline void drm_dp_aux_unregister_devnode(struct drm_dp_aux *aux) 67 : : { 68 : 0 : } 69 : : #endif 70 : : 71 : : /* drm_probe_helper.c */ 72 : : enum drm_mode_status drm_crtc_mode_valid(struct drm_crtc *crtc, 73 : : const struct drm_display_mode *mode); 74 : : enum drm_mode_status drm_encoder_mode_valid(struct drm_encoder *encoder, 75 : : const struct drm_display_mode *mode); 76 : : enum drm_mode_status drm_connector_mode_valid(struct drm_connector *connector, 77 : : struct drm_display_mode *mode); 78 : : 79 : : struct drm_encoder * 80 : : drm_connector_get_single_encoder(struct drm_connector *connector);