lkml.org 
[lkml]   [2007]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/3] cpuid: switch to cpuid_on_cpu()
    Now that cpuid_on_cpu() is in core, cpuid driver can be shrinked.

    Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
    ---

    arch/i386/kernel/cpuid.c | 41 +----------------------------------------
    1 file changed, 1 insertion(+), 40 deletions(-)

    --- a/arch/i386/kernel/cpuid.c
    +++ b/arch/i386/kernel/cpuid.c
    @@ -45,45 +45,6 @@ #include <asm/system.h>

    static struct class *cpuid_class;

    -#ifdef CONFIG_SMP
    -
    -struct cpuid_command {
    - u32 reg;
    - u32 *data;
    -};
    -
    -static void cpuid_smp_cpuid(void *cmd_block)
    -{
    - struct cpuid_command *cmd = (struct cpuid_command *)cmd_block;
    -
    - cpuid(cmd->reg, &cmd->data[0], &cmd->data[1], &cmd->data[2],
    - &cmd->data[3]);
    -}
    -
    -static inline void do_cpuid(int cpu, u32 reg, u32 * data)
    -{
    - struct cpuid_command cmd;
    -
    - preempt_disable();
    - if (cpu == smp_processor_id()) {
    - cpuid(reg, &data[0], &data[1], &data[2], &data[3]);
    - } else {
    - cmd.reg = reg;
    - cmd.data = data;
    -
    - smp_call_function_single(cpu, cpuid_smp_cpuid, &cmd, 1, 1);
    - }
    - preempt_enable();
    -}
    -#else /* ! CONFIG_SMP */
    -
    -static inline void do_cpuid(int cpu, u32 reg, u32 * data)
    -{
    - cpuid(reg, &data[0], &data[1], &data[2], &data[3]);
    -}
    -
    -#endif /* ! CONFIG_SMP */
    -
    static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
    {
    loff_t ret;
    @@ -119,7 +80,7 @@ static ssize_t cpuid_read(struct file *f
    return -EINVAL; /* Invalid chunk size */

    for (; count; count -= 16) {
    - do_cpuid(cpu, reg, data);
    + cpuid_on_cpu(cpu, reg, &data[0], &data[1], &data[2], &data[3]);
    if (copy_to_user(tmp, &data, 16))
    return -EFAULT;
    tmp += 16;
    -
    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/

    \
     
     \ /
      Last update: 2007-04-02 13:35    [W:0.024 / U:123.280 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site