• V
    PHY fixed driver: rework release path and update phy_id notation · 7c32f470
    Vitaly Bordug 提交于
    device_bind_driver() error code returning has been fixed.  release()
    function has been written, so that to free resources in correct way; the
    release path is now clean.
    
    Before the rework, it used to cause
     Device 'fixed@100:1' does not have a release() function, it is broken
     and must be fixed.
     BUG: at drivers/base/core.c:104 device_release()
    
     Call Trace:
      [<ffffffff802ec380>] kobject_cleanup+0x53/0x7e
      [<ffffffff802ec3ab>] kobject_release+0x0/0x9
      [<ffffffff802ecf3f>] kref_put+0x74/0x81
      [<ffffffff8035493b>] fixed_mdio_register_device+0x230/0x265
      [<ffffffff80564d31>] fixed_init+0x1f/0x35
      [<ffffffff802071a4>] init+0x147/0x2fb
      [<ffffffff80223b6e>] schedule_tail+0x36/0x92
      [<ffffffff8020a678>] child_rip+0xa/0x12
      [<ffffffff80311714>] acpi_ds_init_one_object+0x0/0x83
      [<ffffffff8020705d>] init+0x0/0x2fb
      [<ffffffff8020a66e>] child_rip+0x0/0x12
    
    Also changed the notation of the fixed phy definition on
    mdio bus to the form of <speed>+<duplex> to make it able to be used by
    gianfar and ucc_geth that define phy_id strictly as "%d:%d" and cleaned up
    the whitespace issues.
    Signed-off-by: NVitaly Bordug <vitb@kernel.crashing.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NJeff Garzik <jeff@garzik.org>
    7c32f470
fixed.c 9.2 KB