Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1277555 > unrolled thread
| Started by | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| First post | 2015-11-25 17:30 +0100 |
| Last post | 2015-11-27 18:30 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
Releasing bus devices? Andy Lutomirski <luto@amacapital.net> - 2015-11-25 17:30 +0100
Re: Releasing bus devices? Greg KH <gregkh@linuxfoundation.org> - 2015-11-25 17:40 +0100
Re: Releasing bus devices? Andy Lutomirski <luto@amacapital.net> - 2015-11-27 18:30 +0100
| From | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| Date | 2015-11-25 17:30 +0100 |
| Subject | Releasing bus devices? |
| Message-ID | <qyL7b-gt-3@gated-at.bofh.it> |
I'm writing a bus driver, and I'm confused. If I create a class and class devices, I can set a release method on the class. But if I create a bus, there's no bus_type.dev_release. Am I really supposed to manually set .release on each struct device that I enumerate? If so, why? --Andy -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Greg KH <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-11-25 17:40 +0100 |
| Message-ID | <qyLgT-jU-53@gated-at.bofh.it> |
| In reply to | #1277555 |
On Wed, Nov 25, 2015 at 08:21:36AM -0800, Andy Lutomirski wrote: > I'm writing a bus driver, and I'm confused. Yeah, writing a new bus is a major pain, I keep meaning to work on the api every year or so when I have to write a new one, but then I just suffer through it and never get around to it :( > If I create a class and class devices, I can set a release method on > the class. But if I create a bus, there's no bus_type.dev_release. > Am I really supposed to manually set .release on each struct device > that I enumerate? If so, why? No, you shouldn't have to do that, the "struct device_type" that is assigned to your device has a .release callback, that is what will be called. Make sure you set that for each device you create for your bus. hope this helps, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| Date | 2015-11-27 18:30 +0100 |
| Message-ID | <qzv0m-5QM-21@gated-at.bofh.it> |
| In reply to | #1277593 |
On Wed, Nov 25, 2015 at 8:37 AM, Greg KH <gregkh@linuxfoundation.org> wrote: > On Wed, Nov 25, 2015 at 08:21:36AM -0800, Andy Lutomirski wrote: >> I'm writing a bus driver, and I'm confused. > > Yeah, writing a new bus is a major pain, I keep meaning to work on the > api every year or so when I have to write a new one, but then I just > suffer through it and never get around to it :( > >> If I create a class and class devices, I can set a release method on >> the class. But if I create a bus, there's no bus_type.dev_release. >> Am I really supposed to manually set .release on each struct device >> that I enumerate? If so, why? > > No, you shouldn't have to do that, the "struct device_type" that is > assigned to your device has a .release callback, that is what will be > called. Make sure you set that for each device you create for your bus. > > hope this helps, > It does, thanks. One more question: device_destroy seems to be the opposite of device_create. But device_destroy does put_device and device_unregister, and device_unregister also does put_device. That suggests that device_create returns a device with *two* references. How does that happen? I'm having trouble reconciling this with the fact that device_register followed immediately by device_unregister appears to release the device. Is there some reference counting subtlety I'm missing? --Andy -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web