[Openpvrsgx-devgroup] Building the 1.7.862890 branch for x86

Julius Schwartzenberg julius.vrijheid at freedom.nl
Sat Aug 31 12:48:31 CEST 2024


On 02.06.24 22:30, H. Nikolaus Schaller wrote:
> No problem... SGX is out there for almost 20 years now (SGX520/530 released Jul 2005 according to Wikipedia) so that a few months don't make a significant difference :)
> 
> And I won't have too much spare time either. Just refreshing the branches every week to follow upstream (changes).

I continued with my build fixes on the original branch where I dropped 
the Intel parts in place. I guess some changes are still incomplete. Now 
I'm stuck on things related to DRM memory management. It seems this 
requires more knowledge and understanding around how TTM works.

Here is the current output:
   CC [M]  drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.o
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_do_init’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:599:14: error: implicit 
declaration of function ‘ttm_bo_init_mm’; did you mean ‘ttm_bo_wait’? 
[-Werror=implicit-function-declaration]
   599 |         if (!ttm_bo_init_mm(bdev, TTM_PL_TT,
       |              ^~~~~~~~~~~~~~
       |              ttm_bo_wait
In file included from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:30:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drm.h:55:25: error: 
‘TTM_PL_PRIV1’ undeclared (first use in this function); did you mean 
‘TTM_PL_PRIV’?
    55 | #define DRM_PSB_MEM_MMU TTM_PL_PRIV1
       |                         ^~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:614:25: note: in 
expansion of macro ‘DRM_PSB_MEM_MMU’
   614 |                         DRM_PSB_MEM_MMU,
       |                         ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drm.h:55:25: note: each 
undeclared identifier is reported only once for each function it appears in
    55 | #define DRM_PSB_MEM_MMU TTM_PL_PRIV1
       |                         ^~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:614:25: note: in 
expansion of macro ‘DRM_PSB_MEM_MMU’
   614 |                         DRM_PSB_MEM_MMU,
       |                         ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_driver_unload’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:686:25: error: implicit 
declaration of function ‘ttm_bo_device_release’; did you mean 
‘ttm_fence_device_release’? [-Werror=implicit-function-declaration]
   686 |                         ttm_bo_device_release(&dev_priv->bdev);
       |                         ^~~~~~~~~~~~~~~~~~~~~
       |                         ttm_fence_device_release
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:690:61: error: ‘struct 
drm_psb_private’ has no member named ‘fdev’; did you mean ‘dev’?
   690 |                         ttm_fence_device_release(&dev_priv->fdev);
       |                                                             ^~~~
       |                                                             dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:707:31: error: ‘struct 
drm_psb_private’ has no member named ‘tdev’; did you mean ‘dev’?
   707 |                 if (dev_priv->tdev)
       |                               ^~~~
       |                               dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:708:62: error: ‘struct 
drm_psb_private’ has no member named ‘tdev’; did you mean ‘dev’?
   708 |                         ttm_object_device_release(&dev_priv->tdev);
       |                                                              ^~~~
       |                                                              dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_driver_load’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:759:14: error: 
assignment to ‘struct ttm_bo_device *’ from incompatible pointer type 
‘struct ttm_device *’ [-Werror=incompatible-pointer-types]
   759 |         bdev = &dev_priv->bdev;
       |              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:766:19: error: ‘struct 
drm_psb_private’ has no member named ‘tdev’; did you mean ‘dev’?
   766 |         dev_priv->tdev = 
ttm_object_device_init(dev_priv->mem_global_ref.object,
       |                   ^~~~
       |                   dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:766:57: error: ‘struct 
drm_psb_private’ has no member named ‘mem_global_ref’
   766 |         dev_priv->tdev = 
ttm_object_device_init(dev_priv->mem_global_ref.object,
       |                                                         ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:766:26: error: too many 
arguments to function ‘ttm_object_device_init’
   766 |         dev_priv->tdev = 
ttm_object_device_init(dev_priv->mem_global_ref.object,
       |                          ^~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:41,
                  from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:31:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/ttm_object.h:270:1: note: declared 
here
   270 | ttm_object_device_init(const struct dma_buf_ops *ops);
       | ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/build_bug.h:5,
                  from ./include/linux/container_of.h:5,
                  from ./include/linux/list.h:5,
                  from ./include/linux/swait.h:5,
                  from ./include/linux/completion.h:12,
                  from ./include/drm/drm_file.h:34,
                  from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:26:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:768:32: error: ‘struct 
drm_psb_private’ has no member named ‘tdev’; did you mean ‘dev’?
   768 |         if (unlikely(dev_priv->tdev == NULL))
       |                                ^~~~
./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’
    77 | # define unlikely(x)    __builtin_expect(!!(x), 0)
       |                                             ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:779:9: error: implicit 
declaration of function ‘DRM_INIT_WAITQUEUE’ 
[-Werror=implicit-function-declaration]
   779 |         DRM_INIT_WAITQUEUE(&dev_priv->rel_mapped_queue);
       |         ^~~~~~~~~~~~~~~~~~
In file included from 
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_powermgmt.h:32,
                  from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:40:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:790:50: error: ‘struct 
drm_device’ has no member named ‘pdev’; did you mean ‘dev’?
   790 |         resource_start = pci_resource_start(dev->pdev, 
PSB_MMIO_RESOURCE);
       |                                                  ^~~~
./include/linux/pci.h:2136:44: note: in definition of macro ‘pci_resource_n’
  2136 | #define pci_resource_n(dev, bar)        (&(dev)->resource[(bar)])
       |                                            ^~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:790:26: note: in 
expansion of macro ‘pci_resource_start’
   790 |         resource_start = pci_resource_start(dev->pdev, 
PSB_MMIO_RESOURCE);
       |                          ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:827:52: error: ‘struct 
drm_psb_private’ has no member named ‘fdev’; did you mean ‘dev’?
   827 |         ret = psb_ttm_fence_device_init(&dev_priv->fdev);
       |                                                    ^~~~
       |                                                    dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:834:27: error: ‘struct 
drm_psb_private’ has no member named ‘fdev’; did you mean ‘dev’?
   834 | 
dev_priv->fdev.fence_class[PSB_ENGINE_VIDEO].wrap_diff = (1 << 14);
       |                           ^~~~
       |                           dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:835:27: error: ‘struct 
drm_psb_private’ has no member named ‘fdev’; did you mean ‘dev’?
   835 | 
dev_priv->fdev.fence_class[PSB_ENGINE_VIDEO].flush_diff = ( 1 << 13);
       |                           ^~~~
       |                           dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:836:27: error: ‘struct 
drm_psb_private’ has no member named ‘fdev’; did you mean ‘dev’?
   836 | 
dev_priv->fdev.fence_class[PSB_ENGINE_VIDEO].sequence_mask = 0x0000ffff;
       |                           ^~~~
       |                           dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:840:15: error: implicit 
declaration of function ‘ttm_bo_device_init’; did you mean 
‘ttm_device_init’? [-Werror=implicit-function-declaration]
   840 |         ret = ttm_bo_device_init(bdev,
       |               ^~~~~~~~~~~~~~~~~~
       |               ttm_device_init
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:841:42: error: ‘struct 
drm_psb_private’ has no member named ‘bo_global_ref’
   841 | 
dev_priv->bo_global_ref.ref.object,
       |                                          ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:847:9: error: implicit 
declaration of function ‘ttm_lock_init’; did you mean ‘ttm_pool_init’? 
[-Werror=implicit-function-declaration]
   847 |         ttm_lock_init(&dev_priv->ttm_lock);
       |         ^~~~~~~~~~~~~
       |         ttm_pool_init
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:847:32: error: ‘struct 
drm_psb_private’ has no member named ‘ttm_lock’
   847 |         ttm_lock_init(&dev_priv->ttm_lock);
       |                                ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:855:9: error: implicit 
declaration of function ‘set_pages_uc’; did you mean ‘set_page_guard’? 
[-Werror=implicit-function-declaration]
   855 |         set_pages_uc(dev_priv->scratch_page, 1);
       |         ^~~~~~~~~~~~
       |         set_page_guard
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:932:41: error: ‘struct 
drm_device’ has no member named ‘pdev’; did you mean ‘dev’?
   932 |                 if (pci_enable_msi(dev->pdev)) {
       |                                         ^~~~
       |                                         dev
In file included from ./include/asm-generic/bug.h:22,
                  from ./arch/x86/include/asm/bug.h:87,
                  from ./include/linux/bug.h:5,
                  from ./include/linux/thread_info.h:13,
                  from ./include/linux/spinlock.h:60,
                  from ./include/linux/swait.h:7:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:936:45: error: ‘struct 
drm_device’ has no member named ‘pdev’; did you mean ‘dev’?
   936 |                                        dev->pdev->irq);
       |                                             ^~~~
./include/linux/printk.h:427:33: note: in definition of macro 
‘printk_index_wrap’
   427 |                 _p_func(_fmt, ##__VA_ARGS__); 
         \
       |                                 ^~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:1091:25: note: in 
expansion of macro ‘printk’
  1091 |                         printk(KERN_DEBUG 
         \
       |                         ^~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:1067:9: note: in 
expansion of macro ‘PSB_DEBUG’
  1067 |         PSB_DEBUG(PSB_D_INIT, _fmt, ##_arg)
       |         ^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:935:25: note: in 
expansion of macro ‘PSB_DEBUG_INIT’
   935 |                         PSB_DEBUG_INIT("Enabled MSI IRQ (%d)\n",
       |                         ^~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:941:15: error: implicit 
declaration of function ‘drm_vblank_init’; did you mean 
‘drm_client_init’? [-Werror=implicit-function-declaration]
   941 |         ret = drm_vblank_init(dev, dev_priv->num_pipe);
       |               ^~~~~~~~~~~~~~~
       |               drm_client_init
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:957:13: error: implicit 
declaration of function ‘drm_core_check_feature’ 
[-Werror=implicit-function-declaration]
   957 |         if (drm_core_check_feature(dev, DRIVER_MODESET))
       |             ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:957:41: error: 
‘DRIVER_MODESET’ undeclared (first use in this function); did you mean 
‘DRIVER_DESC’?
   957 |         if (drm_core_check_feature(dev, DRIVER_MODESET))
       |                                         ^~~~~~~~~~~~~~
       |                                         DRIVER_DESC
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:958:17: error: implicit 
declaration of function ‘drm_irq_install’; did you mean 
‘psb_irq_uninstall’? [-Werror=implicit-function-declaration]
   958 |                 drm_irq_install(dev);
       |                 ^~~~~~~~~~~~~~~
       |                 psb_irq_uninstall
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:960:12: error: ‘struct 
drm_device’ has no member named ‘vblank_disable_allowed’
   960 |         dev->vblank_disable_allowed = 1;
       |            ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:964:20: error: invalid 
use of undefined type ‘const struct drm_driver’
   964 |         dev->driver->get_vblank_counter = psb_get_vblank_counter;
       |                    ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:972:17: error: implicit 
declaration of function ‘drm_kms_helper_poll_init’; did you mean 
‘drm_fb_helper_fill_info’? [-Werror=implicit-function-declaration]
   972 |                 drm_kms_helper_poll_init(dev);
       |                 ^~~~~~~~~~~~~~~~~~~~~~~~
       |                 drm_fb_helper_fill_info
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: At top level:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:994:5: error: no 
previous prototype for ‘psb_driver_device_is_agp’ 
[-Werror=missing-prototypes]
   994 | int psb_driver_device_is_agp(struct drm_device *dev)
       |     ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_vt_leave_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1063:38: error: 
initialization of ‘struct ttm_bo_device *’ from incompatible pointer 
type ‘struct ttm_device *’ [-Werror=incompatible-pointer-types]
  1063 |         struct ttm_bo_device *bdev = &dev_priv->bdev;
       |                                      ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1066:15: error: implicit 
declaration of function ‘ttm_vt_lock’; did you mean ‘rt_mutex_lock’? 
[-Werror=implicit-function-declaration]
  1066 |         ret = ttm_vt_lock(&dev_priv->ttm_lock, 1,
       |               ^~~~~~~~~~~
       |               rt_mutex_lock
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1066:36: error: ‘struct 
drm_psb_private’ has no member named ‘ttm_lock’
  1066 |         ret = ttm_vt_lock(&dev_priv->ttm_lock, 1,
       |                                    ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1071:15: error: implicit 
declaration of function ‘ttm_bo_evict_mm’ 
[-Werror=implicit-function-declaration]
  1071 |         ret = ttm_bo_evict_mm(&dev_priv->bdev, TTM_PL_TT);
       |               ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1075:15: error: implicit 
declaration of function ‘ttm_bo_clean_mm’; did you mean 
‘ttm_bo_assign_mem’? [-Werror=implicit-function-declaration]
  1075 |         ret = ttm_bo_clean_mm(bdev, TTM_PL_TT);
       |               ^~~~~~~~~~~~~~~
       |               ttm_bo_assign_mem
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1079:9: error: implicit 
declaration of function ‘ttm_bo_swapout_all’; did you mean 
‘ttm_bo_swapout’? [-Werror=implicit-function-declaration]
  1079 |         ttm_bo_swapout_all(&dev_priv->bdev);
       |         ^~~~~~~~~~~~~~~~~~
       |         ttm_bo_swapout
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1083:16: error: implicit 
declaration of function ‘ttm_vt_unlock’ 
[-Werror=implicit-function-declaration]
  1083 |         (void) ttm_vt_unlock(&dev_priv->ttm_lock);
       |                ^~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1083:39: error: ‘struct 
drm_psb_private’ has no member named ‘ttm_lock’
  1083 |         (void) ttm_vt_unlock(&dev_priv->ttm_lock);
       |                                       ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_vt_enter_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1091:39: error: ‘struct 
drm_psb_private’ has no member named ‘ttm_lock’
  1091 |         return ttm_vt_unlock(&dev_priv->ttm_lock);
       |                                       ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_dc_state_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1143:49: error: passing 
argument 2 of ‘drm_mode_object_find’ makes pointer from integer without 
a cast [-Werror=int-conversion]
  1143 |                 obj = drm_mode_object_find(dev, obj_id,
       |                                                 ^~~~~~
       |                                                 |
       |                                                 uint32_t {aka 
unsigned int}
In file included from ./include/drm/drm_crtc.h:31,
                  from drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:30:
./include/drm/drm_mode_object.h:122:63: note: expected ‘struct drm_file 
*’ but argument is of type ‘uint32_t’ {aka ‘unsigned int’}
   122 |                                              struct drm_file 
*file_priv,
       | 
~~~~~~~~~~~~~~~~~^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1143:23: error: too few 
arguments to function ‘drm_mode_object_find’
  1143 |                 obj = drm_mode_object_find(dev, obj_id,
       |                       ^~~~~~~~~~~~~~~~~~~~
./include/drm/drm_mode_object.h:121:25: note: declared here
   121 | struct drm_mode_object *drm_mode_object_find(struct drm_device 
*dev,
       |                         ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1155:44: error: ‘const 
struct drm_crtc_funcs’ has no member named ‘save’
  1155 |                                 crtc->funcs->save(crtc);
       |                                            ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1157:44: error: ‘const 
struct drm_crtc_funcs’ has no member named ‘restore’
  1157 |                                 crtc->funcs->restore(crtc);
       |                                            ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1163:49: error: passing 
argument 2 of ‘drm_mode_object_find’ makes pointer from integer without 
a cast [-Werror=int-conversion]
  1163 |                 obj = drm_mode_object_find(dev, obj_id,
       |                                                 ^~~~~~
       |                                                 |
       |                                                 uint32_t {aka 
unsigned int}
./include/drm/drm_mode_object.h:122:63: note: expected ‘struct drm_file 
*’ but argument is of type ‘uint32_t’ {aka ‘unsigned int’}
   122 |                                              struct drm_file 
*file_priv,
       | 
~~~~~~~~~~~~~~~~~^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1163:23: error: too few 
arguments to function ‘drm_mode_object_find’
  1163 |                 obj = drm_mode_object_find(dev, obj_id,
       |                       ^~~~~~~~~~~~~~~~~~~~
./include/drm/drm_mode_object.h:121:25: note: declared here
   121 | struct drm_mode_object *drm_mode_object_find(struct drm_device 
*dev,
       |                         ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1172:41: error: ‘const 
struct drm_connector_funcs’ has no member named ‘save’
  1172 |                         connector->funcs->save(connector);
       |                                         ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1174:41: error: ‘const 
struct drm_connector_funcs’ has no member named ‘restore’
  1174 |                         connector->funcs->restore(connector);
       |                                         ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_init_comm_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1304:29: error: ‘struct 
drm_device’ has no member named ‘pdev’; did you mean ‘dev’?
  1304 |                 pdev = dev->pdev;
       |                             ^~~~
       |                             dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_gamma_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1374:41: error: passing 
argument 2 of ‘drm_mode_object_find’ makes pointer from integer without 
a cast [-Werror=int-conversion]
  1374 |         obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_CONNECTOR);
       |                                         ^~~~~~
       |                                         |
       |                                         int32_t {aka int}
./include/drm/drm_mode_object.h:122:63: note: expected ‘struct drm_file 
*’ but argument is of type ‘int32_t’ {aka ‘int’}
   122 |                                              struct drm_file 
*file_priv,
       | 
~~~~~~~~~~~~~~~~~^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1374:15: error: too few 
arguments to function ‘drm_mode_object_find’
  1374 |         obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_CONNECTOR);
       |               ^~~~~~~~~~~~~~~~~~~~
./include/drm/drm_mode_object.h:121:25: note: declared here
   121 | struct drm_mode_object *drm_mode_object_find(struct drm_device 
*dev,
       |                         ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function 
‘psb_mode_operation_ioctl’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1431:49: error: passing 
argument 2 of ‘drm_mode_object_find’ makes pointer from integer without 
a cast [-Werror=int-conversion]
  1431 |                 obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_FB);
       |                                                 ^~~~~~
       |                                                 |
       |                                                 uint32_t {aka 
unsigned int}
./include/drm/drm_mode_object.h:122:63: note: expected ‘struct drm_file 
*’ but argument is of type ‘uint32_t’ {aka ‘unsigned int’}
   122 |                                              struct drm_file 
*file_priv,
       | 
~~~~~~~~~~~~~~~~~^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1431:23: error: too few 
arguments to function ‘drm_mode_object_find’
  1431 |                 obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_FB);
       |                       ^~~~~~~~~~~~~~~~~~~~
./include/drm/drm_mode_object.h:121:25: note: declared here
   121 | struct drm_mode_object *drm_mode_object_find(struct drm_device 
*dev,
       |                         ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1451:49: error: passing 
argument 2 of ‘drm_mode_object_find’ makes pointer from integer without 
a cast [-Werror=int-conversion]
  1451 |                 obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_CONNECTOR);
       |                                                 ^~~~~~
       |                                                 |
       |                                                 uint32_t {aka 
unsigned int}
./include/drm/drm_mode_object.h:122:63: note: expected ‘struct drm_file 
*’ but argument is of type ‘uint32_t’ {aka ‘unsigned int’}
   122 |                                              struct drm_file 
*file_priv,
       | 
~~~~~~~~~~~~~~~~~^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1451:23: error: too few 
arguments to function ‘drm_mode_object_find’
  1451 |                 obj = drm_mode_object_find(dev, obj_id, 
DRM_MODE_OBJECT_CONNECTOR);
       |                       ^~~~~~~~~~~~~~~~~~~~
./include/drm/drm_mode_object.h:121:25: note: declared here
   121 | struct drm_mode_object *drm_mode_object_find(struct drm_device 
*dev,
       |                         ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1478:29: error: ‘struct 
drm_display_mode’ has no member named ‘vrefresh’
  1478 |                         mode->vrefresh = umode->vrefresh;
       |                             ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1488:36: error: invalid 
use of undefined type ‘struct drm_connector_helper_funcs’
  1488 |                 if (connector_funcs->mode_valid) {
       |                                    ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1489:47: error: invalid 
use of undefined type ‘struct drm_connector_helper_funcs’
  1489 |                         resp = 
connector_funcs->mode_valid(connector, mode);
       |                                               ^~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_poll’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1789:16: error: ‘POLLIN’ 
undeclared (first use in this function); did you mean ‘POLL_IN’?
  1789 |         return POLLIN | POLLRDNORM;
       |                ^~~~~~
       |                POLL_IN
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1789:25: error: 
‘POLLRDNORM’ undeclared (first use in this function)
  1789 |         return POLLIN | POLLRDNORM;
       |                         ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: At top level:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1801:6: error: no 
previous prototype for ‘psb_driver_preclose’ [-Werror=missing-prototypes]
  1801 | void psb_driver_preclose(struct drm_device *dev, struct 
drm_file *priv)
       |      ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_remove’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1808:9: error: implicit 
declaration of function ‘drm_put_dev’; did you mean ‘drm_puts’? 
[-Werror=implicit-function-declaration]
  1808 |         drm_put_dev(dev);
       |         ^~~~~~~~~~~
       |         drm_puts
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: At top level:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1817:15: error: variable 
‘driver’ has initializer but incomplete type
  1817 | static struct drm_driver driver = {
       |               ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1818:10: error: ‘struct 
drm_driver’ has no member named ‘driver_features’
  1818 |         .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | \
       |          ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1818:28: error: 
‘DRIVER_HAVE_IRQ’ undeclared here (not in a function)
  1818 |         .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | \
       |                            ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1818:46: error: 
‘DRIVER_IRQ_SHARED’ undeclared here (not in a function)
  1818 |         .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | \
       |                                              ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1819:28: error: 
‘DRIVER_IRQ_VBL’ undeclared here (not in a function)
  1819 |                            DRIVER_IRQ_VBL | DRIVER_MODESET,
       |                            ^~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1819:45: error: 
‘DRIVER_MODESET’ undeclared here (not in a function); did you mean 
‘DRIVER_DESC’?
  1819 |                            DRIVER_IRQ_VBL | DRIVER_MODESET,
       |                                             ^~~~~~~~~~~~~~
       |                                             DRIVER_DESC
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1818:28: error: excess 
elements in struct initializer [-Werror]
  1818 |         .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | \
       |                            ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1818:28: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1820:10: error: ‘struct 
drm_driver’ has no member named ‘load’
  1820 |         .load = psb_driver_load,
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1820:17: error: excess 
elements in struct initializer [-Werror]
  1820 |         .load = psb_driver_load,
       |                 ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1820:17: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1821:10: error: ‘struct 
drm_driver’ has no member named ‘unload’
  1821 |         .unload = psb_driver_unload,
       |          ^~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1821:19: error: excess 
elements in struct initializer [-Werror]
  1821 |         .unload = psb_driver_unload,
       |                   ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1821:19: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1823:10: error: ‘struct 
drm_driver’ has no member named ‘ioctls’
  1823 |         .ioctls = psb_ioctls,
       |          ^~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1823:19: error: excess 
elements in struct initializer [-Werror]
  1823 |         .ioctls = psb_ioctls,
       |                   ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1823:19: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1824:10: error: ‘struct 
drm_driver’ has no member named ‘num_ioctls’
  1824 |         .num_ioctls = DRM_ARRAY_SIZE(psb_ioctls),
       |          ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1824:23: error: implicit 
declaration of function ‘DRM_ARRAY_SIZE’; did you mean ‘ARRAY_SIZE’? 
[-Werror=implicit-function-declaration]
  1824 |         .num_ioctls = DRM_ARRAY_SIZE(psb_ioctls),
       |                       ^~~~~~~~~~~~~~
       |                       ARRAY_SIZE
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1824:23: error: excess 
elements in struct initializer [-Werror]
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1824:23: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1825:10: error: ‘struct 
drm_driver’ has no member named ‘device_is_agp’
  1825 |         .device_is_agp = psb_driver_device_is_agp,
       |          ^~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1825:26: error: excess 
elements in struct initializer [-Werror]
  1825 |         .device_is_agp = psb_driver_device_is_agp,
       |                          ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1825:26: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1826:10: error: ‘struct 
drm_driver’ has no member named ‘irq_preinstall’
  1826 |         .irq_preinstall = psb_irq_preinstall,
       |          ^~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1826:27: error: excess 
elements in struct initializer [-Werror]
  1826 |         .irq_preinstall = psb_irq_preinstall,
       |                           ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1826:27: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1827:10: error: ‘struct 
drm_driver’ has no member named ‘irq_postinstall’
  1827 |         .irq_postinstall = psb_irq_postinstall,
       |          ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1827:28: error: excess 
elements in struct initializer [-Werror]
  1827 |         .irq_postinstall = psb_irq_postinstall,
       |                            ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1827:28: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1828:10: error: ‘struct 
drm_driver’ has no member named ‘irq_uninstall’
  1828 |         .irq_uninstall = psb_irq_uninstall,
       |          ^~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1828:26: error: excess 
elements in struct initializer [-Werror]
  1828 |         .irq_uninstall = psb_irq_uninstall,
       |                          ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1828:26: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1829:10: error: ‘struct 
drm_driver’ has no member named ‘irq_handler’
  1829 |         .irq_handler = psb_irq_handler,
       |          ^~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1829:24: error: 
‘psb_irq_handler’ undeclared here (not in a function); did you mean 
‘psb_fence_handler’?
  1829 |         .irq_handler = psb_irq_handler,
       |                        ^~~~~~~~~~~~~~~
       |                        psb_fence_handler
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1829:24: error: excess 
elements in struct initializer [-Werror]
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1829:24: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1830:10: error: ‘struct 
drm_driver’ has no member named ‘enable_vblank’
  1830 |         .enable_vblank = psb_enable_vblank,
       |          ^~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1830:26: error: excess 
elements in struct initializer [-Werror]
  1830 |         .enable_vblank = psb_enable_vblank,
       |                          ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1830:26: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1831:10: error: ‘struct 
drm_driver’ has no member named ‘disable_vblank’
  1831 |         .disable_vblank = psb_disable_vblank,
       |          ^~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1831:27: error: excess 
elements in struct initializer [-Werror]
  1831 |         .disable_vblank = psb_disable_vblank,
       |                           ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1831:27: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1832:10: error: ‘struct 
drm_driver’ has no member named ‘get_vblank_counter’
  1832 |         .get_vblank_counter = psb_get_vblank_counter,
       |          ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1832:31: error: excess 
elements in struct initializer [-Werror]
  1832 |         .get_vblank_counter = psb_get_vblank_counter,
       |                               ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1832:31: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1833:10: error: ‘struct 
drm_driver’ has no member named ‘firstopen’
  1833 |         .firstopen = NULL,
       |          ^~~~~~~~~
In file included from ./include/uapi/linux/posix_types.h:5,
                  from ./include/uapi/linux/types.h:14,
                  from ./include/linux/types.h:6,
                  from ./include/drm/drm_file.h:33:
./include/linux/stddef.h:8:14: error: excess elements in struct 
initializer [-Werror]
     8 | #define NULL ((void *)0)
       |              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1833:22: note: in 
expansion of macro ‘NULL’
  1833 |         .firstopen = NULL,
       |                      ^~~~
./include/linux/stddef.h:8:14: note: (near initialization for ‘driver’)
     8 | #define NULL ((void *)0)
       |              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1833:22: note: in 
expansion of macro ‘NULL’
  1833 |         .firstopen = NULL,
       |                      ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1834:10: error: ‘struct 
drm_driver’ has no member named ‘lastclose’
  1834 |         .lastclose = psb_lastclose,
       |          ^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1834:22: error: excess 
elements in struct initializer [-Werror]
  1834 |         .lastclose = psb_lastclose,
       |                      ^~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1834:22: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1835:10: error: ‘struct 
drm_driver’ has no member named ‘open’
  1835 |         .open = psb_driver_open,
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1835:17: error: excess 
elements in struct initializer [-Werror]
  1835 |         .open = psb_driver_open,
       |                 ^~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1835:17: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1836:10: error: ‘struct 
drm_driver’ has no member named ‘postclose’
  1836 |         .postclose = PVRSRVDrmPostClose,
       |          ^~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1836:22: error: excess 
elements in struct initializer [-Werror]
  1836 |         .postclose = PVRSRVDrmPostClose,
       |                      ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1836:22: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1837:10: error: ‘struct 
drm_driver’ has no member named ‘suspend’
  1837 |         .suspend = PVRSRVDriverSuspend,
       |          ^~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1837:20: error: excess 
elements in struct initializer [-Werror]
  1837 |         .suspend = PVRSRVDriverSuspend,
       |                    ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1837:20: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1838:10: error: ‘struct 
drm_driver’ has no member named ‘resume’
  1838 |         .resume = PVRSRVDriverResume,
       |          ^~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1838:19: error: excess 
elements in struct initializer [-Werror]
  1838 |         .resume = PVRSRVDriverResume,
       |                   ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1838:19: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1839:10: error: ‘struct 
drm_driver’ has no member named ‘preclose’
  1839 |         .preclose = psb_driver_preclose,
       |          ^~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1839:21: error: excess 
elements in struct initializer [-Werror]
  1839 |         .preclose = psb_driver_preclose,
       |                     ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1839:21: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1840:10: error: ‘struct 
drm_driver’ has no member named ‘fops’
  1840 |         .fops = {
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1840:17: error: extra 
brace group at end of initializer
  1840 |         .fops = {
       |                 ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1840:17: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1847:28: error: 
‘drm_fasync’ undeclared here (not in a function); did you mean ‘drm_scdc’?
  1847 |                  .fasync = drm_fasync,
       |                            ^~~~~~~~~~
       |                            drm_scdc
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1840:17: error: excess 
elements in struct initializer [-Werror]
  1840 |         .fops = {
       |                 ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1840:17: note: (near 
initialization for ‘driver’)
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1850:10: error: ‘struct 
drm_driver’ has no member named ‘name’
  1850 |         .name = DRIVER_NAME,
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:80:21: error: excess 
elements in struct initializer [-Werror]
    80 | #define DRIVER_NAME "pvrsrvkm"
       |                     ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1850:17: note: in 
expansion of macro ‘DRIVER_NAME’
  1850 |         .name = DRIVER_NAME,
       |                 ^~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:80:21: note: (near 
initialization for ‘driver’)
    80 | #define DRIVER_NAME "pvrsrvkm"
       |                     ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1850:17: note: in 
expansion of macro ‘DRIVER_NAME’
  1850 |         .name = DRIVER_NAME,
       |                 ^~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1851:10: error: ‘struct 
drm_driver’ has no member named ‘desc’
  1851 |         .desc = DRIVER_DESC,
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:81:21: error: excess 
elements in struct initializer [-Werror]
    81 | #define DRIVER_DESC "drm driver for the Intel GMA500"
       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:81:21: note: in 
definition of macro ‘DRIVER_DESC’
    81 | #define DRIVER_DESC "drm driver for the Intel GMA500"
       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:81:21: note: (near 
initialization for ‘driver’)
    81 | #define DRIVER_DESC "drm driver for the Intel GMA500"
       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:81:21: note: in 
definition of macro ‘DRIVER_DESC’
    81 | #define DRIVER_DESC "drm driver for the Intel GMA500"
       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1852:10: error: ‘struct 
drm_driver’ has no member named ‘date’
  1852 |         .date = PSB_DRM_DRIVER_DATE,
       |          ^~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:88:29: error: excess 
elements in struct initializer [-Werror]
    88 | #define PSB_DRM_DRIVER_DATE "2009-03-10"
       |                             ^~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1852:17: note: in 
expansion of macro ‘PSB_DRM_DRIVER_DATE’
  1852 |         .date = PSB_DRM_DRIVER_DATE,
       |                 ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:88:29: note: (near 
initialization for ‘driver’)
    88 | #define PSB_DRM_DRIVER_DATE "2009-03-10"
       |                             ^~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1852:17: note: in 
expansion of macro ‘PSB_DRM_DRIVER_DATE’
  1852 |         .date = PSB_DRM_DRIVER_DATE,
       |                 ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1853:10: error: ‘struct 
drm_driver’ has no member named ‘major’
  1853 |         .major = PSB_DRM_DRIVER_MAJOR,
       |          ^~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:89:30: error: excess 
elements in struct initializer [-Werror]
    89 | #define PSB_DRM_DRIVER_MAJOR 8
       |                              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1853:18: note: in 
expansion of macro ‘PSB_DRM_DRIVER_MAJOR’
  1853 |         .major = PSB_DRM_DRIVER_MAJOR,
       |                  ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:89:30: note: (near 
initialization for ‘driver’)
    89 | #define PSB_DRM_DRIVER_MAJOR 8
       |                              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1853:18: note: in 
expansion of macro ‘PSB_DRM_DRIVER_MAJOR’
  1853 |         .major = PSB_DRM_DRIVER_MAJOR,
       |                  ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1854:10: error: ‘struct 
drm_driver’ has no member named ‘minor’
  1854 |         .minor = PSB_DRM_DRIVER_MINOR,
       |          ^~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:90:30: error: excess 
elements in struct initializer [-Werror]
    90 | #define PSB_DRM_DRIVER_MINOR 1
       |                              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1854:18: note: in 
expansion of macro ‘PSB_DRM_DRIVER_MINOR’
  1854 |         .minor = PSB_DRM_DRIVER_MINOR,
       |                  ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:90:30: note: (near 
initialization for ‘driver’)
    90 | #define PSB_DRM_DRIVER_MINOR 1
       |                              ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1854:18: note: in 
expansion of macro ‘PSB_DRM_DRIVER_MINOR’
  1854 |         .minor = PSB_DRM_DRIVER_MINOR,
       |                  ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1855:10: error: ‘struct 
drm_driver’ has no member named ‘patchlevel’
  1855 |         .patchlevel = PSB_DRM_DRIVER_PATCHLEVEL
       |          ^~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:91:35: error: excess 
elements in struct initializer [-Werror]
    91 | #define PSB_DRM_DRIVER_PATCHLEVEL 0
       |                                   ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1855:23: note: in 
expansion of macro ‘PSB_DRM_DRIVER_PATCHLEVEL’
  1855 |         .patchlevel = PSB_DRM_DRIVER_PATCHLEVEL
       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.h:91:35: note: (near 
initialization for ‘driver’)
    91 | #define PSB_DRM_DRIVER_PATCHLEVEL 0
       |                                   ^
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1855:23: note: in 
expansion of macro ‘PSB_DRM_DRIVER_PATCHLEVEL’
  1855 |         .patchlevel = PSB_DRM_DRIVER_PATCHLEVEL
       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_probe’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1874:16: error: implicit 
declaration of function ‘drm_get_pci_dev’; did you mean 
‘acpi_get_pci_dev’? [-Werror=implicit-function-declaration]
  1874 |         return drm_get_pci_dev(pdev, ent, &driver);
       |                ^~~~~~~~~~~~~~~
       |                acpi_get_pci_dev
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_init’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1879:16: error: implicit 
declaration of function ‘drm_pci_init’; did you mean ‘drm_mm_init’? 
[-Werror=implicit-function-declaration]
  1879 |         return drm_pci_init(&driver, &psb_pci_driver);
       |                ^~~~~~~~~~~~
       |                drm_mm_init
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: In function ‘psb_exit’:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1893:5: error: implicit 
declaration of function ‘drm_pci_exit’ 
[-Werror=implicit-function-declaration]
  1893 |     drm_pci_exit(&driver, &psb_pci_driver);
       |     ^~~~~~~~~~~~
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c: At top level:
drivers/gpu/drm/pvrsgx/1.7.862890/drv/psb_drv.c:1817:26: error: storage 
size of ‘driver’ isn’t known
  1817 | static struct drm_driver driver = {
       |                          ^~~~~~
cc1: all warnings being treated as errors


Maybe at some point I can study the topics of DRM and TTM myself as 
well, but this is quite far from what I've ever done before.



More information about the openpvrsgx-devgroup mailing list