18 Oct, 2011

4 commits

  • Signed-off-by: Manohar Vanga
    Cc: Martyn Welch
    Reviewed-by: Emilio G. Cota
    Signed-off-by: Greg Kroah-Hartman

    Manohar Vanga
     
  • Previously, the device-driver matching mechanism depended on the
    vme_device_id structure due to the need for a bind table per driver.
    This method of matching is no longer used so this patch merges the
    fields of struct vme_device_id into struct vme_dev. Since this also
    renders the slot field meaningless, it has also been removed in this
    patch.

    Signed-off-by: Manohar Vanga
    Cc: Martyn Welch
    Reviewed-by: Emilio G. Cota
    Signed-off-by: Greg Kroah-Hartman

    Manohar Vanga
     
  • For jumper based boards (non VME64x), there is no mechanism
    for detecting the card that is plugged into a specific slot. This
    leads to issues in non-autodiscovery crates/cards when a card is
    plugged into a slot that is "claimed" by a different driver. In
    reality, there is no problem, but the driver rejects such a
    configuration due to its dependence on the concept of slots.

    This patch makes the concept of slots less critical and pushes the
    driver match() to individual drivers (similar to what happens in the
    ISA bus in driver/base/isa.c). This allows drivers to register the
    number of devices that they expect without any restrictions. Devices
    in this new model are now formatted as $driver_name-$bus_id.$device_id
    (as compared to the earlier vme-$bus_id.$slot_number).

    This model also makes the device model more logical as devices
    are only registered when they actually exist whereas earlier,
    a set of devices were being created automatically regardless of
    them actually being there.

    Another change introduced in this patch is that devices are now created
    within the VME driver structure rather than in the VME bridge structure.
    This way, things don't go haywire if the bridge driver is removed while
    a driver is using it.

    Signed-off-by: Manohar Vanga
    Cc: Martyn Welch
    Reviewed-by: Emilio G. Cota
    Signed-off-by: Greg Kroah-Hartman

    Manohar Vanga
     
  • Instead of using a vanilla 'struct device' for VME devices, add new
    'struct vme_dev'. Modifications have been made to the VME framework
    API as well as all in-tree VME drivers.

    The new vme_dev structure has the following advantages from the
    current model used by the driver:

    * Driver functions (probe, remove) now receive a VME device
    instead of a pointer to the bridge device (cleaner design)
    * It's easier to differenciate API calls as bridge-based or
    device-based (ie. cleaner interface).

    Signed-off-by: Manohar Vanga
    Cc: Martyn Welch
    Reviewed-by: Emilio G. Cota
    Signed-off-by: Greg Kroah-Hartman

    Manohar Vanga
     

10 Sep, 2011

1 commit

  • Change the static array of 'struct device''s in struct vme_bridge
    to instead use an array of pointers. This is in accordance with the
    requirement that all kobjects be dynamically allocated (see
    Documentation/kobject.txt) and never be statically allocated.

    Signed-off-by: Manohar Vanga
    Acked-by: Martyn Welch
    Signed-off-by: Greg Kroah-Hartman

    Manohar Vanga
     

24 Aug, 2011

3 commits


29 Jun, 2011

5 commits


31 Mar, 2011

1 commit


15 Mar, 2011

1 commit

  • This patch was generated by the following semantic patch:
    //
    @@ expression E; @@
    - if (E != NULL) { kfree(E); }
    + kfree(E);

    @@ expression E; @@
    - if (E != NULL) { kfree(E); E = NULL; }
    + kfree(E);
    + E = NULL;
    //

    Signed-off-by: Ilia Mirkin
    Signed-off-by: Greg Kroah-Hartman

    Ilia Mirkin
     

01 Mar, 2011

2 commits


24 Feb, 2011

2 commits


28 Jan, 2011

1 commit


10 Dec, 2010

2 commits


04 Dec, 2010

3 commits


17 Nov, 2010

15 commits