* [PATCH] Remove unused fields in btd_driver_data struct
@ 2011-03-22 20:56 Claudio Takahasi
2011-03-22 21:10 ` Johan Hedberg
0 siblings, 1 reply; 5+ messages in thread
From: Claudio Takahasi @ 2011-03-22 20:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
src/device.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/src/device.c b/src/device.c
index e9d9e65..5121064 100644
--- a/src/device.c
+++ b/src/device.c
@@ -68,9 +68,7 @@
#define GLOBAL_TRUST "[all]"
struct btd_driver_data {
- guint id;
struct btd_device_driver *driver;
- void *priv;
};
struct btd_disconnect_data {
--
1.7.4.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused fields in btd_driver_data struct
2011-03-22 20:56 [PATCH] Remove unused fields in btd_driver_data struct Claudio Takahasi
@ 2011-03-22 21:10 ` Johan Hedberg
2011-03-22 21:36 ` Claudio Takahasi
0 siblings, 1 reply; 5+ messages in thread
From: Johan Hedberg @ 2011-03-22 21:10 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Hi Claudio,
On Tue, Mar 22, 2011, Claudio Takahasi wrote:
> ---
> src/device.c | 2 --
> 1 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/src/device.c b/src/device.c
> index e9d9e65..5121064 100644
> --- a/src/device.c
> +++ b/src/device.c
> @@ -68,9 +68,7 @@
> #define GLOBAL_TRUST "[all]"
>
> struct btd_driver_data {
> - guint id;
> struct btd_device_driver *driver;
> - void *priv;
> };
Why is btd_driver_data needed at all if btd_device_driver is the only
thing that it contains (i.e. why can't places pointing to
btd_driver_data just point to btd_device_driver directly)?
Johan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Remove unused fields in btd_driver_data struct
2011-03-22 21:10 ` Johan Hedberg
@ 2011-03-22 21:36 ` Claudio Takahasi
2011-03-23 12:20 ` [PATCH 1/2] Remove unnecessary " Claudio Takahasi
0 siblings, 1 reply; 5+ messages in thread
From: Claudio Takahasi @ 2011-03-22 21:36 UTC (permalink / raw)
To: Claudio Takahasi, linux-bluetooth; +Cc: Johan Hedberg
Hi Johan,
On Tue, Mar 22, 2011 at 9:10 PM, Johan Hedberg <johan.hedberg@gmail.com> wrote:
> Hi Claudio,
>
> On Tue, Mar 22, 2011, Claudio Takahasi wrote:
>> ---
>> src/device.c | 2 --
>> 1 files changed, 0 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/device.c b/src/device.c
>> index e9d9e65..5121064 100644
>> --- a/src/device.c
>> +++ b/src/device.c
>> @@ -68,9 +68,7 @@
>> #define GLOBAL_TRUST "[all]"
>>
>> struct btd_driver_data {
>> - guint id;
>> struct btd_device_driver *driver;
>> - void *priv;
>> };
>
> Why is btd_driver_data needed at all if btd_device_driver is the only
> thing that it contains (i.e. why can't places pointing to
> btd_driver_data just point to btd_device_driver directly)?
>
> Johan
>
I did a quick look in the code, we can point directly to the
btd_device_driver and remove the btd_driver_data struct.
This structure was added by the commit b76fbc7d in 2008, I don't think
that there is a plan to use it :-)
"*priv" was never used and "guint id;" seems to be added by mistake.
Please ignore this patch, I will send another patch removing
btd_driver_data struct.
Claudio.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] Remove unnecessary btd_driver_data struct
2011-03-22 21:36 ` Claudio Takahasi
@ 2011-03-23 12:20 ` Claudio Takahasi
2011-03-23 13:24 ` Johan Hedberg
0 siblings, 1 reply; 5+ messages in thread
From: Claudio Takahasi @ 2011-03-23 12:20 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
src/device.c | 29 ++++++-----------------------
1 files changed, 6 insertions(+), 23 deletions(-)
diff --git a/src/device.c b/src/device.c
index e9d9e65..b4d13f2 100644
--- a/src/device.c
+++ b/src/device.c
@@ -67,12 +67,6 @@
/* When all services should trust a remote device */
#define GLOBAL_TRUST "[all]"
-struct btd_driver_data {
- guint id;
- struct btd_device_driver *driver;
- void *priv;
-};
-
struct btd_disconnect_data {
guint id;
disconnect_watch watch;
@@ -120,7 +114,7 @@ struct btd_device {
GSList *uuids;
GSList *services; /* Primary services path */
GSList *primaries; /* List of primary services */
- GSList *drivers; /* List of driver_data */
+ GSList *drivers; /* List of device drivers */
GSList *watches; /* List of disconnect_data */
gboolean temporary;
struct agent *agent;
@@ -413,15 +407,12 @@ static DBusMessage *set_trust(DBusConnection *conn, DBusMessage *msg,
return dbus_message_new_method_return(msg);
}
-static void driver_remove(struct btd_driver_data *driver_data,
+static void driver_remove(struct btd_device_driver *driver,
struct btd_device *device)
{
- struct btd_device_driver *driver = driver_data->driver;
-
driver->remove(device);
- device->drivers = g_slist_remove(device->drivers, driver_data);
- g_free(driver_data);
+ device->drivers = g_slist_remove(device->drivers, driver);
}
static gboolean do_disconnect(gpointer user_data)
@@ -1145,26 +1136,21 @@ void device_probe_drivers(struct btd_device *device, GSList *profiles)
for (list = device_drivers; list; list = list->next) {
struct btd_device_driver *driver = list->data;
GSList *probe_uuids;
- struct btd_driver_data *driver_data;
probe_uuids = device_match_driver(device, driver, profiles);
if (!probe_uuids)
continue;
- driver_data = g_new0(struct btd_driver_data, 1);
-
err = driver->probe(device, probe_uuids);
if (err < 0) {
error("%s driver probe failed for device %s",
driver->name, addr);
- g_free(driver_data);
g_slist_free(probe_uuids);
continue;
}
- driver_data->driver = driver;
- device->drivers = g_slist_append(device->drivers, driver_data);
+ device->drivers = g_slist_append(device->drivers, driver);
g_slist_free(probe_uuids);
}
@@ -1198,8 +1184,7 @@ static void device_remove_drivers(struct btd_device *device, GSList *uuids)
DBG("Removing drivers for %s", dstaddr);
for (list = device->drivers; list; list = next) {
- struct btd_driver_data *driver_data = list->data;
- struct btd_device_driver *driver = driver_data->driver;
+ struct btd_device_driver *driver = list->data;
const char **uuid;
next = list->next;
@@ -1214,9 +1199,7 @@ static void device_remove_drivers(struct btd_device *device, GSList *uuids)
driver->remove(device);
device->drivers = g_slist_remove(device->drivers,
- driver_data);
- g_free(driver_data);
-
+ driver);
break;
}
}
--
1.7.4.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] Remove unnecessary btd_driver_data struct
2011-03-23 12:20 ` [PATCH 1/2] Remove unnecessary " Claudio Takahasi
@ 2011-03-23 13:24 ` Johan Hedberg
0 siblings, 0 replies; 5+ messages in thread
From: Johan Hedberg @ 2011-03-23 13:24 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Hi Claudio,
On Wed, Mar 23, 2011, Claudio Takahasi wrote:
> ---
> src/device.c | 29 ++++++-----------------------
> 1 files changed, 6 insertions(+), 23 deletions(-)
Thanks. Both patches have been pushed upstream.
Johan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-03-23 13:24 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-22 20:56 [PATCH] Remove unused fields in btd_driver_data struct Claudio Takahasi
2011-03-22 21:10 ` Johan Hedberg
2011-03-22 21:36 ` Claudio Takahasi
2011-03-23 12:20 ` [PATCH 1/2] Remove unnecessary " Claudio Takahasi
2011-03-23 13:24 ` Johan Hedberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox