1. 06 11月, 2005 4 次提交
    • R
      [DRIVER MODEL] Fix macsonic · 09c6518c
      Russell King 提交于
      Release code in driver modules is a potential cause of oopsen.
      The device may be in use by a userspace process, which will keep
      a reference to the device.  If the module is unloaded, the module
      text will be freed.  Subsequently, when the last reference is
      dropped, the release code will be called, which no longer exists.
      
      Use generic platform device allocation/release code in modules.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      09c6518c
    • R
      [DRIVER MODEL] Fix jazzsonic · 95cb5d95
      Russell King 提交于
      Release code in driver modules is a potential cause of oopsen.
      The device may be in use by a userspace process, which will keep
      a reference to the device.  If the module is unloaded, the module
      text will be freed.  Subsequently, when the last reference is
      dropped, the release code will be called, which no longer exists.
      
      Use generic platform device allocation/release code in modules.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      95cb5d95
    • R
      [DRIVER MODEL] Fix depca · 5d994b7f
      Russell King 提交于
      Release code in driver modules is a potential cause of oopsen.
      The device may be in use by a userspace process, which will keep
      a reference to the device.  If the module is unloaded, the module
      text will be freed.  Subsequently, when the last reference is
      dropped, the release code will be called, which no longer exists.
      
      Use generic platform device allocation/release code in modules.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5d994b7f
    • R
      [DRIVER MODEL] Improved dynamically allocated platform_device interface · 37c12e74
      Russell King 提交于
      Re-jig the simple platform device support to allow private data
      to be attached to a platform device, as well as allowing the
      parent device to be set.
      
      Example usage:
      
      	pdev = platform_device_alloc("mydev", id);
      	if (pdev) {
      		err = platform_device_add_resources(pdev, &resources,
      						    ARRAY_SIZE(resources));
      		if (err == 0)
      			err = platform_device_add_data(pdev, &platform_data,
      						       sizeof(platform_data));
      		if (err == 0)
      			err = platform_device_add(pdev);
      	} else {
      		err = -ENOMEM;
      	}
      	if (err)
      		platform_device_put(pdev);
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      37c12e74
  2. 05 11月, 2005 27 次提交
  3. 04 11月, 2005 9 次提交