/** * Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved. * * This source file is released under GPL v2 license (no other versions). * See the COPYING file included in the main directory of this source * distribution for the license terms and conditions. * * @File cthardware.c * * @Brief * This file contains the implementation of hardware access methord. * * @Author Liu Chun * @Date Jun 26 2008 * */ #include "cthardware.h" #include "cthw20k1.h" #include "cthw20k2.h" #include <linux/bug.h> int create_hw_obj(struct pci_dev *pci, enum CHIPTYP chip_type, enum CTCARDS model, struct hw **rhw) { int err; switch (chip_type) { case ATC20K1: err = create_20k1_hw_obj(rhw); break; case ATC20K2: err = create_20k2_hw_obj(rhw); break; default: err = -ENODEV; break; } if (err) return err; (*rhw)->pci = pci; (*rhw)->chip_type = chip_type; (*rhw)->model = model; return 0; } int destroy_hw_obj(struct hw *hw) { int err; switch (hw->pci->device) { case 0x0005: /* 20k1 device */ err = destroy_20k1_hw_obj(hw); break; case 0x000B: /* 20k2 device */ err = destroy_20k2_hw_obj(hw); break; default: err = -ENODEV; break; } return err; } unsigned int get_field(unsigned int data, unsigned int field) { int i; if (WARN_ON(!field)) return 0; /* @field should always be greater than 0 */ for (i = 0; !(field & (1 << i)); ) i++; return (data & field) >> i; } void set_field(unsigned int *data, unsigned int field, unsigned int value) { int i; if (WARN_ON(!field)) return; /* @field should always be greater than 0 */ for (i = 0; !(field & (1 << i)); ) i++; *data = (*data & (~field)) | ((value << i) & field); } gi/linux/net-next.git/log/tools/build/feature/.gitignore'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>tree</a><a class='active' href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/tools/build/feature/.gitignore'> <input type='hidden' name='id' value='2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/commit/?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>root</a>/<a href='/cgit.cgi/linux/net-next.git/commit/tools?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>tools</a>/<a href='/cgit.cgi/linux/net-next.git/commit/tools/build?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>build</a>/<a href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>feature</a>/<a href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>.gitignore</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'> <tr><th>author</th><td>Linus Torvalds <torvalds@linux-foundation.org></td><td class='right'>2017-01-16 09:34:37 -0800</td></tr> <tr><th>committer</th><td>Linus Torvalds <torvalds@linux-foundation.org></td><td class='right'>2017-01-16 09:34:37 -0800</td></tr> <tr><th>commit</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc</a> (<a href='/cgit.cgi/linux/net-next.git/patch/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>patch</a>)</td></tr> <tr><th>tree</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/tree/?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>4d8ea8e6ca52f1938269937834641205d8d888f0</a> /<a href='/cgit.cgi/linux/net-next.git/tree/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>tools/build/feature/.gitignore</a></td></tr> <tr><th>parent</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature/.gitignore?id=49def1853334396f948dcb4cedb9347abb318df5'>49def1853334396f948dcb4cedb9347abb318df5</a> (<a href='/cgit.cgi/linux/net-next.git/diff/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc&id2=49def1853334396f948dcb4cedb9347abb318df5'>diff</a>)</td></tr><tr><th>parent</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/tools/build/feature/.gitignore?id=ce1ca7d2d140a1f4aaffd297ac487f246963dd2f'>ce1ca7d2d140a1f4aaffd297ac487f246963dd2f</a> (<a href='/cgit.cgi/linux/net-next.git/diff/tools/build/feature/.gitignore?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc&id2=ce1ca7d2d140a1f4aaffd297ac487f246963dd2f'>diff</a>)</td></tr></table> <div class='commit-subject'>Merge tag 'nfsd-4.10-1' of git://linux-nfs.org/~bfields/linux</div><div class='commit-msg'>Pull nfsd fixes from Bruce Fields: "Miscellaneous nfsd bugfixes, one for a 4.10 regression, three for older bugs" * tag 'nfsd-4.10-1' of git://linux-nfs.org/~bfields/linux: svcrdma: avoid duplicate dma unmapping during error recovery sunrpc: don't call sleeping functions from the notifier block callbacks svcrpc: don't leak contexts on PROC_DESTROY nfsd: fix supported attributes for acl & labels </div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=2eabb8b8d68bc9c7779ba8b04bec8d4f8baed0bc'>Diffstat</a> (limited to 'tools/build/feature/.gitignore')</div><table summary='diffstat' class='diffstat'>