From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Subject: Re: [06/10,V2] spi: Add SPI driver for mx233/mx28 Date: Tue, 31 Jul 2012 23:56:50 -0700 Message-ID: <20120801065650.GA2928@roeck-us.net> References: <1341555449-17507-6-git-send-email-marex@denx.de> <201208010810.37652.marex@denx.de> <20120801063936.GC2764@roeck-us.net> <201208010845.19361.marex@denx.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Fabio Estevam , Shawn Guo , Rob Herring , Stefano Babic , spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Chris Ball , Dong Aisheng , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Marek Vasut Return-path: Content-Disposition: inline In-Reply-To: <201208010845.19361.marex-ynQEQJNshbs@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spi-devel-general-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: linux-spi.vger.kernel.org On Wed, Aug 01, 2012 at 08:45:19AM +0200, Marek Vasut wrote: > Dear Guenter Roeck, > > > On Wed, Aug 01, 2012 at 08:10:37AM +0200, Marek Vasut wrote: > > > Dear Shawn Guo, > > > > > > > On Tue, Jul 31, 2012 at 10:42:28PM -0700, Guenter Roeck wrote: > > > > > On Wed, Aug 01, 2012 at 01:58:56PM +0800, Shawn Guo wrote: > > > > > > On Tue, Jul 31, 2012 at 10:29:47PM -0700, Guenter Roeck wrote: > > > > > > > Anyone up for writing some patches ? If not, I'll do it. > > > > > > > > > > > > Go ahead. > > > > > > > > > > Ok, will do. It isn't that simple, actually, since at least some of > > > > > the drivers also call spi_master_get(), and thus need two calls to > > > > > spi_master_put() (or a call to spi_master_put and a call to kfree). > > > > > > > > Hmm, are you saying that there must be a spi_master_put call matching > > > > spi_alloc_master? I think we only need to have spi_master_get and > > > > spi_master_put matched. > > > > > > Naw, spi_master_get() does refcounting, spi_alloc_master() doesnt. You > > > don't need to match spi_alloc_master() with spi_master_put() > > > > I must be missing something. Why do almost all spi drivers call it in the > > error path, even if there is no call to spi_master_get ? > > To push the refcounting to 0, to deallocate the device, I'd say ... > Guess we are in violent agreement. The sequence would then either be master = spi_alloc_device(); ... spi_master_put(master); or master = spi_alloc_device(); ... kfree(master); which makes sense to me. Question still is why most drivers neither call kfree() nor spi_master_put() in the remove function. Thanks, Guenter ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/