AnsweredAssumed Answered

Building ADV7511 driver as module

Question asked by milosoftware on Nov 19, 2012
Latest reply on Mar 6, 2013 by milosoftware

I'm trying to make a more "dynamic" configuration, so I want to initialize the framebuffer later (the logic in the FPGA will not be present at boot).

 

To do so, I tried building the ADV7511 drivers as modules. This seems to work okay, but I cannot load the modules because they seem to be missing dependencies:

root@zynq-zc702:~# modprobe snd-soc-adv7511-hdmi                                                                        
snd_soc_adv7511_hdmi: Unknown symbol snd_soc_register_card (err 0)                                                      
snd_soc_adv7511_hdmi: Unknown symbol platform_driver_unregister (err 0)                                                 
snd_soc_adv7511_hdmi: Unknown symbol platform_driver_register (err 0)                                                   
snd_soc_adv7511_hdmi: Unknown symbol snd_soc_unregister_card (err 0)                                                    
snd_soc_adv7511_hdmi: Unknown symbol snd_soc_pm_ops (err 0)                                                             
ERROR: could not insert 'snd_soc_adv7511_hdmi': Unknown symbol in module, or unknown parameter (see dmesg)              

 

root@zynq-zc702:~# modprobe adv7511                                                                                     
adv7511: Unknown symbol regcache_sync (err 0)                                                                           
adv7511: Unknown symbol regmap_write (err 0)                                                                            
adv7511: Unknown symbol regmap_update_bits (err 0)                                                                      
adv7511: Unknown symbol snd_soc_register_codec (err 0)                                                                  
adv7511: Unknown symbol regcache_mark_dirty (err 0)                                                                     
adv7511: Unknown symbol snd_soc_unregister_codec (err 0)                                                                
adv7511: Unknown symbol devm_regmap_init_i2c (err 0)                                                                    
adv7511: Unknown symbol snd_soc_codec_set_cache_io (err 0)                                                              
adv7511: Unknown symbol i2c_unregister_device (err 0)                                                                   
\adv7511: Unknown symbol i2c_new_dummy (err 0)                                                                          
adv7511: Unknown symbol drm_do_get_edid (err 0)                                                                         
adv7511: Unknown symbol regmap_read (err 0)                                                                             
adv7511: Unknown symbol devm_kzalloc (err 0)                                                                            
ERROR: could not insert 'adv7511': Unknown symbol in module, or unknown parameter (see dmesg)                           

 

This completely puzzles me, all that I2C stuff that it appears to lack is already built-in in the kernel (because there's a bunch of I2C stuff in there already).

 

Is this a known problem in the adv7511 driver, or is there something in my configuration missing? I have all the built modules in my rootfs, they all load, except the adv ones.

 

root@zynq-zc702:~# find /lib/modules/ -name '*.ko'                                                                      
/lib/modules/3.3.0-yocto-standard/kernel/drivers/video/sysfillrect.ko                                                   
/lib/modules/3.3.0-yocto-standard/kernel/drivers/video/sysimgblt.ko                                                     
/lib/modules/3.3.0-yocto-standard/kernel/drivers/video/syscopyarea.ko                                                   
/lib/modules/3.3.0-yocto-standard/kernel/drivers/base/firmware_class.ko                                                 
/lib/modules/3.3.0-yocto-standard/kernel/drivers/gpu/drm/i2c/adv7511.ko                                                 
/lib/modules/3.3.0-yocto-standard/kernel/drivers/gpu/drm/drm_kms_helper.ko                                              
/lib/modules/3.3.0-yocto-standard/kernel/drivers/scsi/scsi_wait_scan.ko                                                 
/lib/modules/3.3.0-yocto-standard/kernel/sound/soc/xlnx/snd-soc-axi-spdif.ko                                            
/lib/modules/3.3.0-yocto-standard/kernel/sound/soc/xlnx/snd-soc-adv7511-hdmi.ko                                         
/lib/modules/3.3.0-yocto-standard/kernel/crypto/krng.ko                                                                 
/lib/modules/3.3.0-yocto-standard/kernel/crypto/ansi_cprng.ko                                                           
/lib/modules/3.3.0-yocto-standard/kernel/crypto/aes_generic.ko                                                          
/lib/modules/3.3.0-yocto-standard/kernel/crypto/rng.ko                                                                  
/lib/modules/3.5.0-14.3-build1-yocto-standard/kernel/net/ipv6/ipv6.ko                                                   

Outcomes