• Mauro Carvalho Chehab's avatar
    [media] dib7000p: rename dib7000p_attach to dib7000p_init · 7f67d96a
    Mauro Carvalho Chehab authored
    Well, what we call as "foo_attach" is the method that should
    be called by the dvb_attach() macro.
    
    It should be noticed that the name "dvb_attach" is really a
    bad name and don't express what it does.
    
    dvb_attach() basically does three things, if the frontend is
    compiled as a module:
    - It lookups for the module that it is known to have the
      given symbol name and requests such module;
    - It increments the module usage (anonymously - so lsmod
      doesn't print who loaded the module);
    - after loading the module, it runs the function associated
      with the dynamic symbol.
    
    When compiled as builtin, it just calls the function given to it.
    
    As dvb_attach() increments refcount, it can't be (easily)
    called more than once for the same module, or the kernel
    will deny to remove the module, because refcount will never
    be zeroed.
    
    In other words, the function name given to dvb_attach()
    should be one single symbol that will always be called
    before any other function on that module to be used.
    
    For almost all DVB frontends, there's just one function.
    
    However, the dib7000p initialization can require up to 3
    functions to be called:
    	- dib7000p_get_i2c_master;
    	- dib7000p_i2c_enumeration;
    	- dib7000p_init (before this patch dib7000_attach).
    
    (plus a bunch of other functions that the bridge driver will
    need to call).
    
    As we need to get rid of all those direct calls, because they
    cause compilation breakages when bridge is builtin and
    frontend is module, we'll need to add a new function that
    will be the first one to be called, whatever initialization
    is needed.
    
    So, let's rename the function that probes and init the hardware
    to dib7000p_init.
    
    A latter patch will add a new dib7000p_attach that will be
    used as originally conceived by dvb_attach() way.
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    7f67d96a
dib7000p.c 64.4 KB