LCOV - code coverage report
Current view: top level - arch/x86/include/asm - sysfb.h (source / functions) Hit Total Coverage
Test: combined.info Lines: 2 2 100.0 %
Date: 2022-04-01 13:59:58 Functions: 0 0 -
Branches: 1 2 50.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: GPL-2.0-or-later */
       2                 :            : #ifndef _ARCH_X86_KERNEL_SYSFB_H
       3                 :            : #define _ARCH_X86_KERNEL_SYSFB_H
       4                 :            : 
       5                 :            : /*
       6                 :            :  * Generic System Framebuffers on x86
       7                 :            :  * Copyright (c) 2012-2013 David Herrmann <dh.herrmann@gmail.com>
       8                 :            :  */
       9                 :            : 
      10                 :            : #include <linux/kernel.h>
      11                 :            : #include <linux/platform_data/simplefb.h>
      12                 :            : #include <linux/screen_info.h>
      13                 :            : 
      14                 :            : enum {
      15                 :            :         M_I17,          /* 17-Inch iMac */
      16                 :            :         M_I20,          /* 20-Inch iMac */
      17                 :            :         M_I20_SR,       /* 20-Inch iMac (Santa Rosa) */
      18                 :            :         M_I24,          /* 24-Inch iMac */
      19                 :            :         M_I24_8_1,      /* 24-Inch iMac, 8,1th gen */
      20                 :            :         M_I24_10_1,     /* 24-Inch iMac, 10,1th gen */
      21                 :            :         M_I27_11_1,     /* 27-Inch iMac, 11,1th gen */
      22                 :            :         M_MINI,         /* Mac Mini */
      23                 :            :         M_MINI_3_1,     /* Mac Mini, 3,1th gen */
      24                 :            :         M_MINI_4_1,     /* Mac Mini, 4,1th gen */
      25                 :            :         M_MB,           /* MacBook */
      26                 :            :         M_MB_2,         /* MacBook, 2nd rev. */
      27                 :            :         M_MB_3,         /* MacBook, 3rd rev. */
      28                 :            :         M_MB_5_1,       /* MacBook, 5th rev. */
      29                 :            :         M_MB_6_1,       /* MacBook, 6th rev. */
      30                 :            :         M_MB_7_1,       /* MacBook, 7th rev. */
      31                 :            :         M_MB_SR,        /* MacBook, 2nd gen, (Santa Rosa) */
      32                 :            :         M_MBA,          /* MacBook Air */
      33                 :            :         M_MBA_3,        /* Macbook Air, 3rd rev */
      34                 :            :         M_MBP,          /* MacBook Pro */
      35                 :            :         M_MBP_2,        /* MacBook Pro 2nd gen */
      36                 :            :         M_MBP_2_2,      /* MacBook Pro 2,2nd gen */
      37                 :            :         M_MBP_SR,       /* MacBook Pro (Santa Rosa) */
      38                 :            :         M_MBP_4,        /* MacBook Pro, 4th gen */
      39                 :            :         M_MBP_5_1,      /* MacBook Pro, 5,1th gen */
      40                 :            :         M_MBP_5_2,      /* MacBook Pro, 5,2th gen */
      41                 :            :         M_MBP_5_3,      /* MacBook Pro, 5,3rd gen */
      42                 :            :         M_MBP_6_1,      /* MacBook Pro, 6,1th gen */
      43                 :            :         M_MBP_6_2,      /* MacBook Pro, 6,2th gen */
      44                 :            :         M_MBP_7_1,      /* MacBook Pro, 7,1th gen */
      45                 :            :         M_MBP_8_2,      /* MacBook Pro, 8,2nd gen */
      46                 :            :         M_UNKNOWN       /* placeholder */
      47                 :            : };
      48                 :            : 
      49                 :            : struct efifb_dmi_info {
      50                 :            :         char *optname;
      51                 :            :         unsigned long base;
      52                 :            :         int stride;
      53                 :            :         int width;
      54                 :            :         int height;
      55                 :            :         int flags;
      56                 :            : };
      57                 :            : 
      58                 :            : #ifdef CONFIG_EFI
      59                 :            : 
      60                 :            : extern struct efifb_dmi_info efifb_dmi_list[];
      61                 :            : void sysfb_apply_efi_quirks(void);
      62                 :            : 
      63                 :            : #else /* CONFIG_EFI */
      64                 :            : 
      65                 :            : static inline void sysfb_apply_efi_quirks(void)
      66                 :            : {
      67                 :            : }
      68                 :            : 
      69                 :            : #endif /* CONFIG_EFI */
      70                 :            : 
      71                 :            : #ifdef CONFIG_X86_SYSFB
      72                 :            : 
      73                 :            : bool parse_mode(const struct screen_info *si,
      74                 :            :                 struct simplefb_platform_data *mode);
      75                 :            : int create_simplefb(const struct screen_info *si,
      76                 :            :                     const struct simplefb_platform_data *mode);
      77                 :            : 
      78                 :            : #else /* CONFIG_X86_SYSFB */
      79                 :            : 
      80                 :         78 : static inline bool parse_mode(const struct screen_info *si,
      81                 :            :                               struct simplefb_platform_data *mode)
      82                 :            : {
      83         [ +  - ]:         78 :         return false;
      84                 :            : }
      85                 :            : 
      86                 :            : static inline int create_simplefb(const struct screen_info *si,
      87                 :            :                                   const struct simplefb_platform_data *mode)
      88                 :            : {
      89                 :            :         return -EINVAL;
      90                 :            : }
      91                 :            : 
      92                 :            : #endif /* CONFIG_X86_SYSFB */
      93                 :            : 
      94                 :            : #endif /* _ARCH_X86_KERNEL_SYSFB_H */

Generated by: LCOV version 1.14